Tôi đang sử dụng đoạn mã sau:XSSFWorkbook mất rất nhiều thời gian để tải
File file = new File("abc.xlsx");
InputStream st = new FileInputStream(file);
XSSFWorkbook wb = new XSSFWorkbook(st);
Các xlsx tập tin bản thân có 25.000 dòng và mỗi dòng có nội dung trong 500 cột. Trong quá trình gỡ lỗi, tôi thấy rằng hàng thứ ba nơi tôi tạo một XSSFWorkbook, phải mất rất nhiều thời gian (1 giờ!) Để hoàn thành câu lệnh này.
Có cách nào tốt hơn để truy cập các giá trị của tệp xlsx gốc không?
Cảm ơn Abhishek S
Nếu điều đó không giải quyết được hoàn toàn vấn đề, thì bạn có thể sử dụng poi event api như một cách bộ nhớ thấp để đọc một tệp lớn. Tài liệu poi có chứa một ví dụ ở đây: http://poi.apache.org/spreadsheet/how-to.html#xssf_sax_api –
Cảm ơn, sẽ thử điều này. Chỉ cần tò mò để biết làm thế nào điều này sẽ giải quyết vấn đề? Nó sẽ không đệm nội dung vào bộ nhớ? Hoặc nó sẽ chỉ truy cập dữ liệu bằng cách sử dụng các tài liệu tham khảo ban đầu của bất kỳ cơ hội? –
Nếu bạn mở tệp bằng một tệp, ít hơn sẽ được lưu vào bộ đệm nếu bạn mở bằng luồng đầu vào – Gagravarr