我在程序中使用以下代码
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);
有没有更好的方法呢?
答案 0 :(得分:-1)
这是一个链接到许多类的链接,只需几步即可处理大型Xlsx问题。您只需要处理从中获取的Array [String]并将它们放在String Arrays列表中。
链接:http://lchenaction.blogspot.nl/2013/12/how-to-read-super-large-excel-and-csv.html