XSSFWorkbook需要花费大量时间来加载excel(.xlsx)文件

时间:2014-07-08 15:58:02

标签: java excel apache-poi

我在程序中使用以下代码

FileInputStream fileFile = null;
try {
fileFile = new FileInputStream(new File("D:\\work\\result\\n01jfvjnjn.xlsx"));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
XSSFWorkbook workbookFile = null;
try {
workbookFile = new XSSFWorkbook(fileFile);
} catch (IOException e) {
e.printStackTrace();
}
XSSFSheet sheetFile = workbookFile.getSheet("Sheet1");

这个xlsx文件有20张,每张有100行,其中有些是5mb文件。我只是去特定的表格并打印第一行和第一列值,它需要将近30秒。 在XSSFWorkbook系列中花费了很多时间。我分配了3GB的堆,我尝试下面的代码没有区别。

File file = new File("C:\\D\\Data Book.xlsx");
OPCPackage opcPackage = OPCPackage.open(file);
XSSFWorkbook workbook = new XSSFWorkbook(opcPackage); 

有没有更好的方法呢?

1 个答案:

答案 0 :(得分:-1)

这是一个链接到许多类的链接,只需几步即可处理大型Xlsx问题。您只需要处理从中获取的Array [String]并将它们放在String Arrays列表中。

链接:http://lchenaction.blogspot.nl/2013/12/how-to-read-super-large-excel-and-csv.html