1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- package com.fdkankan.manage.util;
- import org.apache.poi.hssf.usermodel.HSSFWorkbook;
- 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.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- public class ExcelUtil {
- public static List<HashMap<Integer,String>> getExcelRowList(MultipartFile multipartFile) throws IOException {
- //行List,也是最终要返回的List
- List<HashMap<Integer,String>> 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<Integer,String> map = new HashMap<>();
- //转换为List数组
- for (int cellNum=0;cellNum<= row.getLastCellNum();cellNum++){
- Cell cell = row.getCell(cellNum);
- if(cell != null){
- cell.setCellType(CellType.STRING);
- map.put(cellNum,cell.getStringCellValue().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);
- }
- }
- }
|