używam następujący kod: sam plikXSSFWorkbook zajmuje dużo czasu, aby załadować
File file = new File("abc.xlsx");
InputStream st = new FileInputStream(file);
XSSFWorkbook wb = new XSSFWorkbook(st);
XLSX ma 25000 wierszy i każdy rząd ma zawartość w 500 kolumnach. Podczas debugowania zobaczyłem, że trzeci wiersz, w którym tworzę książkę XSSFWorkbook, zajmuje dużo czasu (1 godzina!), Aby zakończyć to stwierdzenie.
Czy istnieje lepszy sposób dostępu do wartości oryginalnego pliku Xlsx?
Dzięki Abhishek S
Jeśli to nie rozwiąże całkowicie problemu, możesz użyć interfejsu API poi jako sposobu na niski odczyt pamięci, aby odczytać duży plik. Dokumentacja poi zawiera przykład: http://poi.apache.org/spreadsheet/how-to.html#xssf_sax_api –
Dzięki, wypróbujemy to. Po prostu ciekawy, jak to rozwiąże problem? Czy nie buforuje zawartości w pamięci? Czy może przypadkiem dostęp do danych przy użyciu oryginalnych referencji? –
Jeśli otworzysz go z plikiem, mniej będzie buforowane niż w przypadku otwierania za pomocą strumienia wejściowego – Gagravarr