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

相关推荐
lhbian1 分钟前
PHP、C++和C语言对比:哪个更适合你?
android·数据库·spring boot·mysql·kafka
NotFound4861 分钟前
Flask项目目录怎么分_MVC架构在Flask应用中的常见目录树
jvm·数据库·python
小陈phd4 分钟前
电商智能客服智能体——基于LangChain的电商智能客服 Agent 架构设计与实现(二)
数据库·microsoft·langchain
2401_897190556 分钟前
JavaScript对象浅拷贝:Object-assign的合并规则
jvm·数据库·python
Shorasul10 分钟前
如何用 fill 配合 map 初始化一个填充了不同对象的数组
jvm·数据库·python
weixin_5860614613 分钟前
golang如何使用go-redis客户端_golang go-redis客户端使用教程
jvm·数据库·python
逍遥德22 分钟前
Java 锁(线程间)和数据库锁(事务间)对比详解
java·数据库·sql·高并发·锁机制
m0_3776182326 分钟前
C# 异步范围Asynchronous Disposal方法 C# await using如何使用
jvm·数据库·python
gwjcloud34 分钟前
Docker详解
java·docker·容器
Dream of maid35 分钟前
Mysql(9)事务
数据库·mysql