标题Hutool处理excel获取表头/数据并处理@TOC
返回对象实体
package org.springblade.modules.visual.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class ExcelStaticDataVO implements Serializable {
private static final long serialVersionUID = 1L;
private String fileName;
private List<ExcelSheetDataVO> sheetDataVOList;
}
package org.springblade.modules.visual.vo;
import lombok.Data;
import java.io.Serializable;
@Data
public class ExcelSheetDataVO implements Serializable {
private static final long serialVersionUID = 1L;
private String sheetName;
private ExcelHeadDataVO dataVO;
}
package org.springblade.modules.visual.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class ExcelStaticDataVO implements Serializable {
private static final long serialVersionUID = 1L;
private String fileName;
private List<ExcelSheetDataVO> sheetDataVOList;
}
数据处理
ExcelReader reader = cn.hutool.poi.excel.ExcelUtil.getReader(file.getInputStream());
Iterator<Sheet> iterator = ((HSSFWorkbook) reader.getWorkbook()).iterator();
List<ExcelSheetDataVO> excelSheetDataVOS = new ArrayList<>();
while (iterator.hasNext()) {
ExcelSheetDataVO excelSheetDataVO = new ExcelSheetDataVO();
String sheetName = iterator.next().getSheetName();
excelSheetDataVO.setSheetName(sheetName);
Iterator<Cell> cellIterator = ((HSSFWorkbook) reader.getWorkbook()).getSheet(sheetName).getRow(0).cellIterator();
ExcelHeadDataVO excelHeadDataVO = new ExcelHeadDataVO();
List<String> headList = new ArrayList<>();
while (cellIterator.hasNext()) {
headList.add(cellIterator.next().getStringCellValue());
}
excelHeadDataVO.setHeadList(headList);
excelSheetDataVO.setDataVO(excelHeadDataVO);
excelSheetDataVOS.add(excelSheetDataVO);
log.info("数据展示");
}
excelStaticDataVO.setFileName(file.getOriginalFilename());
excelStaticDataVO.setSheetDataVOList(excelSheetDataVOS);