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

相关推荐
乐之者v4 分钟前
20多个表,每个都有userId 和其他几个属性,要根据userId把他们全部汇总,如何处理?
java·mysql
惊鸿若梦一书生19 分钟前
《Python 高阶教程》003|变量背后不是盒子:名字、对象与引用的本质
java·jvm·python
qq_3806191631 分钟前
SQL中如何实现特定范围内数据的批量删除_范围分区与分区删除
jvm·数据库·python
gelald32 分钟前
SpringBoot - Actuator与监控
java·spring boot·后端
深紫色的三北六号33 分钟前
仿大疆司空2面状航线生成——凸多边形区域航线生成算法详解
java·算法·无人机·大疆·航线规划
qq_3806191643 分钟前
HTML函数开发需要独立显卡吗_HTML函数与显卡关系详解【说明】
jvm·数据库·python
电商API&Tina1 小时前
1688 拍立淘接口(item_search_img)测试与接入实战心得
java·大数据·前端·物联网·oracle·json
行走的搬运工1 小时前
Spring Security_05
java·spring·mybatis
2201_756847331 小时前
Golang如何处理JSON空值null_Golang JSON空值处理教程【精通】
jvm·数据库·python