Verlangsamen Sie XSSFWorkbook und WorkbookFactory beim Lesen von xlsx-Dateien

Ich habe gesehen, dass Entwickler dieses Problem seit einigen Jahren haben. Ich habe viele Foren und die offiziellen POI-Dokumente studiert. Trotzdem habe ich noch keine Antwort gefunden. Also das Problem ist .. Ich habe die folgenden zwei Schnipsel ausprobiert:

Workbook wb = WorkbookFactory.create(new File("spreadsheet.xlsx"));

und

File file = new File("C:\\spreadsheet.xlsx");
OPCPackage opcPackage = OPCPackage.open(file.getAbsolutePath());
XSSFWorkbook workbook = new XSSFWorkbook(opcPackage);

Bei beiden Methoden dauert es ungefähr 5 bis 6 Minuten (sofern der Arbeitsspeicher der Anwendung nicht erschöpft ist), um eine einfache und relativ kleine Datei spreadsheet.xlsx (200 KB) zu verarbeiten.

Was muss ich tun, um dies zu beheben? (Ich benutze Apache POI 3.9)

/*****************************/

Der Vorgang dauert an folgendem Ort sehr lange:

public class XSSFSheet extends POIXMLDocumentPart implements Sheet{
...
protected void read(InputStream is) throws IOException {
    try {
      -->>> worksheet = WorksheetDocument.Factory.parse(is).getWorksheet();
    } catch (XmlException e){
        throw new POIXMLException(e);
    }
}
...

Ich kann nicht weiter debuggen. Die VisualVM sagt auch das Gleiche ..!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage