利用poi读取excel数据
导入pom文件如下:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
@Test
public void test13() throws IOException, InvalidFormatException {
File file = new File("D:\\other\\abc.xlsx");
System.out.println(file.getAbsolutePath());
Workbook workbook = new XSSFWorkbook(file);
List<List<String>> excelData = Lists.newArrayList();
for (int i = 0; i < workbook.getNumberOfSheets(); i++) {
Sheet sheet = workbook.getSheetAt(i);
int lastRowNum = sheet.getLastRowNum();
if (lastRowNum == 0) {
excelData.add(Lists.newArrayList());
continue;
}
List<String> sheetData = Lists.newArrayList();
for (int j = 1; j <= lastRowNum; j++) {
Row row = sheet.getRow(j);
Iterator<Cell> cellIterator = row.cellIterator();
StringBuilder rowData = new StringBuilder();
while (cellIterator.hasNext()) {
Cell next = cellIterator.next();
String cellValue = "";
if(next.getCellTypeEnum().equals(CellType.NUMERIC)){
cellValue = String.valueOf(next.getNumericCellValue());
}else{
cellValue = next.getStringCellValue();
}
rowData.append(cellValue + ",");
}
sheetData.add(rowData.toString());
}
excelData.add(sheetData);
}
for (int i = 0; i < excelData.size(); i++) {
System.out.println("当前是第" + (i + 1) + "个sheet表中的数据:");
List<String> sheetData = excelData.get(i);
if (sheetData.size() == 0) {
System.out.println("sheet" + (i + 1) + "中没有数据;");
}
sheetData.forEach(System.out::println);
}
}