本文共 2586 字,大约阅读时间需要 8 分钟。
本工具类提供了Excel导入功能,通过反射机制将Excel中数据映射到实体类中,从而获取Excel数据。工具类依赖org.apache.poi包,支持RESTful API,适用于Spring MVC环境。
File类型和MultipartFile类型导入工具类依赖以下JAR包:
org.apache.poi poi 4.1.0
适用于Web页面中通过MultipartFile上传文件场景,可直接转换为List<List<Object>>。
@PostMapping(value = "/project/import")public ResultObject importAlarmEvents(@RequestParam MultipartFile file) { ResultObject result = new ResultObject(); try { List
适用于Web页面中通过File上传文件场景,可直接转换为List<List<Object>>。
@PostMapping(value = "/project/import")public ResultObject importAlarmEvents(@RequestParam File file) { ResultObject result = new ResultObject(); try { List > excelData = ImportExcelUtil.importExcelFile(file, 1, 0, EventDTO.class); if (excelData == null || excelData.isEmpty()) { result.setMessage("导入失败,Excel内容为空"); return result; } List alarmList = new ArrayList<>(); for (List list : excelData) { alarmList.add((EventDTO) list); } Map res = eventService.importEvent(alarmList); } catch (Exception e) { result.setMessage(e.getMessage()); } return result;}
注意:实体类的属性声明顺序必须与Excel列头顺序一致,否则会导致数据对应错误。以下是一个示例:
package com.entity.dto;import java.io.Serializable;@SuppressWarnings("serial")public class EventDTO implements Serializable { // 列字段1 private String name; // 列字段2 private String code; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getCode() { return code; } public void setCode(String code) { this.code = code; }} 转载地址:http://zqfqz.baihongyu.com/