package com.fdkankan.manage.util; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.HashMap; import java.util.List; public class ExcelUtil { public static List> getExcelRowList(MultipartFile multipartFile) throws IOException { //行List,也是最终要返回的List List> rowList=new ArrayList<>(); Workbook workbook=getExcelWorkBook(multipartFile); Sheet sheet = workbook.getSheetAt(0); if (sheet == null) { throw new IOException("创建Sheet失败!"); } //开始遍历行 for (int i=3;i<= sheet.getLastRowNum();i++){ Row row = sheet.getRow(i); //列List HashMap map = new HashMap<>(); //转换为List数组 for (int cellNum=0;cellNum<= row.getLastCellNum();cellNum++){ Cell cell = row.getCell(cellNum); if(cell != null){ map.put(cellNum,cell.toString().trim()); } } rowList.add(map); } workbook.close(); return rowList; } //获取WorkBook对象 private static Workbook getExcelWorkBook(MultipartFile multipartFile) throws IOException { InputStream inputStream=multipartFile.getInputStream(); String originalFileName=multipartFile.getOriginalFilename(); assert originalFileName != null; String fileType=originalFileName.substring(originalFileName.lastIndexOf(".")+1); if (fileType.equalsIgnoreCase("xls")) { //xls格式 return new HSSFWorkbook(inputStream); } else { //xlsx格式 return new XSSFWorkbook(inputStream); } } }