POI:接收上传上来的excel,解析并导入到数据库

目录

1、控制层

2、业务层(主要逻辑)


1、控制层

因为前端设置了只能上传1个文件,这里直接取一个。

java 复制代码
@RequestMapping(value = "/shebeiDaoru.ctrl", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
	public @ResponseBody Map<String, Object> shebeiDaoru(HttpServletRequest request,
			@RequestParam("file") MultipartFile[] files) {
		return shebeiService.shebeiDaoru(files[0]);
	}

2、业务层(主要逻辑)

通过multipartFile直接获取输入流,构建HSSFWorkbook。

java 复制代码
@SuppressWarnings("resource")
	@Override
	public Map<String, Object> shebeiDaoru(MultipartFile multipartFile) {
		try {
			Workbook workbook = new HSSFWorkbook(multipartFile.getInputStream());
			// 获取第一张sheet。
			Sheet sheetAt = workbook.getSheetAt(0);
			int index=0;
			for(Row row:sheetAt) {
				//跳过第一行
				if(index==0) {
					index++;
					continue;
				}
				Cell cell0 = row.getCell(0);
				Cell cell1 = row.getCell(1);
				Shebei shebei = new Shebei();
				shebei.setCode(cell0.getStringCellValue());
				shebei.setName(cell1.getStringCellValue());
				shebei.setStatus(JConstant.status_1);
				shebeiMapper.insert(shebei);
			}
			
		} catch (IOException e) {
			e.printStackTrace();
		}
		return null;
	}

参考文献:

POI 读取/导出 Excel 文件_poi 读取excel-CSDN博客

相关推荐
怀旧诚子几秒前
timeshift之Fedora43设置,已在VM虚拟机验证,待真机验证。
java·服务器·数据库
1104.北光c°5 分钟前
滑动窗口HotKey探测机制:让你的缓存TTL更智能
java·开发语言·笔记·程序人生·算法·滑动窗口·hotkey
haixingtianxinghai1 小时前
Redis的定期删除和惰性删除
数据库·redis·缓存
资深web全栈开发1 小时前
PostgreSQL Schema 最佳实践:架构师的命名与组织艺术
数据库·postgresql
麦聪聊数据2 小时前
利用实时数据管道与 SQL2API 重构企业自动化审计架构
数据库·sql·低代码
麦聪聊数据2 小时前
重构开放生态:利用 QuickAPI 跨越遗留系统与敏捷交付的工程实践
数据库·sql·低代码·restful
云原生指北3 小时前
GitHub Copilot SDK 入门:五分钟构建你的第一个 AI Agent
java
百结2147 小时前
Mysql数据库操作
数据库·mysql·oracle
keep one's resolveY7 小时前
时区问题解决
数据库
Leinwin7 小时前
OpenClaw 多 Agent 协作框架的并发限制与企业化规避方案痛点直击
java·运维·数据库