Java读取Excel数据:基于Apache POI(一)
Java本身不支持直接读取微软的Excel表格数据。第三方的Apache提供了一个库POI用以支持Java读写Excel表格数据。
首先需要到Apache官网下载POI的库,下载链接地址:https://poi.apache.org/download.html
本文基于POI的版本是4.0.1。下载poi-bin-4.0.1-20181203.zip解压后,得到下面文件:
把图中的jar文件导入到自己的项目中,就可以使用POI,用Java读Excel表格数据了。假设现在有有一个名为test.xls的Excel文件,test.xls的表数据内容是这样的:
写一个Java程序读出来:
import java.io.File;
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.ss.usermodel.WorkbookFactory;
public class ReadExcel {
public static void main(String[] args) throws Exception {
File xlsFile = new File("test.xls");
// 工作表
Workbook workbook = WorkbookFactory.create(xlsFile);
// 表个数。
int numberOfSheets = workbook.getNumberOfSheets();
// 遍历表。
for (int i = 0; i < numberOfSheets; i++) {
Sheet sheet = workbook.getSheetAt(i);
// 行数。
int rowNumbers = sheet.getLastRowNum() + 1;
// Excel第一行。
Row temp = sheet.getRow(0);
if (temp == null) {
continue;
}
int cells = temp.getPhysicalNumberOfCells();
// 读数据。
for (int row = 0; row < rowNumbers; row++) {
Row r = sheet.getRow(row);
for (int col = 0; col < cells; col++) {
System.out.print(r.getCell(col).toString()+" ");
}
// 换行。
System.out.println();
}
}
}
}
输出结果为: