1:ExclUtil:
package com.sys.utils;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.linkedHashMap;
import java.util.List;
import java.util.Map;
import static org.apache.poi.ss.usermodel.CellType.STRING;
import static org.apache.poi.ss.usermodel.CellType.BLANK;
import static org.apache.poi.ss.usermodel.CellType.NUMERIC;
@Data
public class ExclUtil {
//标题的行序号
private Integer headerIndex;
//数据的行序号
private Integer dataIndex;
//sheet页数
private Integer sheetCount;
public List
2:实际调用
public Boolean importExclAndDB(MultipartFile file, String airId, String areaId) {
ExclUtil exclUtil = new ExclUtil();
//数据头
exclUtil.setHeaderIndex(0);
//数据栏
exclUtil.setSheetCount(1);
//数据源
exclUtil.setDataIndex(3);
List> maps = null;
try {
//导入excl
maps = exclUtil.importExcel(file);
System.out.println(maps);
} catch (IOException e) {
e.printStackTrace();
}
TbTestExclParam tbTestExclParam = new TbTestExclParam();
tbTestExclParam.setCreatedTime(new Date());
//excl 的文件 是否需要传输
Long exclId = this.add(tbTestExclParam);
if(ObjectUtil.isNotNull(exclId) && exclId > 0){
//1.正式导入excl数据到 数据库DB表里
if(ObjectUtil.isNotNull(maps) && maps.size() > ForeignEnum.DEFAULT.getCode()){
maps.stream().forEach(x -> {
TbTestExclDataParam vo = new TbTestExclDataParam();
vo.setExclId(exclId);
//文档的 表头 第一行的内容
vo.setA(Integer.valueOf(String.valueOf(x.get("a")).split("\.")[0]));
vo.setB(Integer.valueOf(String.valueOf(x.get("b")).split("\.")[0]));
vo.setC(Float.valueOf(String.valueOf(x.get("c"))));
tbTestExclDataService.add(vo);
});
}
}
return true;
}
excl 文件 如下:



