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博客

相关推荐
悠仁さん3 分钟前
【C++】set map 使用
java·前端·c++
李纲明23 分钟前
WordPress 提示「建立数据库连接时出错」:先核 wp-config 与数据库服务,再查表损坏与磁盘配额
数据库·wordpress·devdiy
yuniko-n30 分钟前
【JUC】Thread 内存泄露
java
freejackman30 分钟前
【架构篇】双遍历 + 多栈协同:手撸 SQL 血缘引擎的架构思考
java·大数据·数据库·hive·sql·架构·spark
杨云龙UP33 分钟前
TDengine 社区版磁盘空间不足故障处理 SOP:历史日志清理、日志保留策略及数据保留 200 天
数据库·时序数据库·tdengine·tsdb·历史日志清理·trim database·logkeepdays
企业数字化笔记37 分钟前
业务单据怎样接入流程中心?启动条件、实例关联与失败回退
java·spring boot·mysql
betazhou43 分钟前
MySQL Oracle官方备份工具
数据库·mysql·oracle
挖掘狂人1 小时前
同一个端口能不能被两个程序同时监听?
java·后端·程序员
codigger1 小时前
同一个端口能不能被两个程序同时监听?
java·后端·程序员·编程
西索斯coding1 小时前
qwen3.8-max-0902 和 minimax-m3 改真实仓库差多少?2026 年 50 个缺陷复现实测框架
java·服务器·网络·ai