ExcelUtil工具类,用于读取Excel文件
直接上代码
package com.baosight.mro.common.util;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.*;
import java.io.File;
import java.io.IOException;
import java.util.*;
public class ExcelUtil {
/**
* 读取Excel的文件内容
* @param realPath
*/
public static List<Map<String,Object>> readExcel(String realPath) {
ArrayList<Map<String,Object>> list = new ArrayList<>();
HashMap<String, Object> hashMap = new HashMap<>();
File excelFile = new File(realPath);
Workbook workbook= null;
try {
workbook = WorkbookFactory.create(excelFile);
Sheet sheet = workbook.getSheetAt(0);//或者根据表名称读取:sheet=workbook.getSheet("表1");
Iterator<Row> iterator = sheet.iterator();
while (iterator.hasNext()) {//遍历每一行的数据
Row row = iterator.next();
System.out.println("FirstRow="+sheet.getFirstRowNum()
+",LastRow="+sheet.getLastRowNum()
+",FirstCell="+row.getFirstCellNum()
+",LastCell="+row.getLastCellNum()
+",RowNum="+row.getRowNum());
Iterator<Cell> cellIter = row.cellIterator();
while (cellIter.hasNext()) {//遍历某行的所有单元格
Cell cell = cellIter.next();
switch (cell.getCellType()) {
case Cell.CELL_TYPE_STRING://String类型
System.out.println("String:"+cell.getStringCellValue());
break;
case Cell.CELL_TYPE_BOOLEAN://Booble类型
System.out.println("Boolean:"+cell.getBooleanCellValue());
break;
case Cell.CELL_TYPE_NUMERIC://Double类型
System.out.println("Double:"+cell.getNumericCellValue());
break;
case Cell.CELL_TYPE_FORMULA:
System.out.println("formula:"+cell.getDateCellValue().toString());
break;
case Cell.CELL_TYPE_BLANK://空白的单元格
System.out.println("Blank");
break;
default:
break;
}
}
}
} catch (IOException e) {
e.printStackTrace();
return null;
} catch (InvalidFormatException e) {
e.printStackTrace();
return null;
}
return list;
}
}
调用即可