Ich verwende den folgenden Code zu laden:XSSFWorkbook nimmt viel Zeit
File file = new File("abc.xlsx");
InputStream st = new FileInputStream(file);
XSSFWorkbook wb = new XSSFWorkbook(st);
Die xlsx-Datei hat sich 25.000 Zeilen und jede Zeile hat Inhalt in 500 Spalten. Während des Debugging habe ich gesehen, dass die dritte Zeile, in der ich ein XSSFWorkbook erstelle, sehr lange dauert (1 Stunde!), Um diese Aussage zu vervollständigen.
Gibt es eine bessere Möglichkeit, auf die Werte der ursprünglichen xlsx-Datei zuzugreifen?
Dank Abhishek S
Wenn das das Problem nicht vollständig löst, können Sie Poi-Ereignis-API als einen geringen Speicherbedarf Weg verwenden, um eine große Datei zu lesen. Die Poi-Dokumentation enthält hier ein Beispiel: http://poi.apache.org/spreadsheet/how-to.html#xssf_sax_api –
Danke, werde das ausprobieren. Nur neugierig zu wissen, wie das das Problem lösen wird? Werden die Inhalte nicht im Speicher zwischengespeichert? Oder greift es zufällig nur auf die Daten mit den Originalreferenzen zu? –
Wenn Sie es mit einer Datei öffnen, wird weniger gepuffert als wenn Sie mit einem Eingabestream öffnen – Gagravarr