12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- 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<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){
- 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);
- }
- }
- }
|