ich Apache POI bin mit lesen und Zeichnet Dateien mit Java zu schreiben, aber ich bin nicht in der Lage WorkbookFactory noch XSSFWorkbook in den Quellen zu finden xlsx zu lesen Dateien.Apache Poi 3.13 können keine Klassen finden XLSX-Dateien öffnen
pom.xml:
<poi.version>3.13</poi.version>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>${poi.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
</dependency>
Ich kann nicht weder irgendwelche Informationen im Changelog von Apache POI finden, die zu diesem Verhalten führen könnte.
bearbeiten: Hier meine Implementierung (nur eine einfache Methode für den Moment)
public static HSSFSheet getXLSSheet(String fileName, int sheetIndex) throws IOException {
InputStream inputStream = new FileInputStream(fileName);
HSSFWorkbook workbook = new HSSFWorkbook(inputStream);
return workbook.getSheetAt(sheetIndex);
}
Ich habe versucht, eine XLSX-Datei zu öffnen, aber da kann ich nicht die beiden anderen Klassen (WorkbookFactory oder XSSFWorkbook finden) ich habe einen Fehler haben, wie diese erwartet:
org.apache.poi.poifs.filesystem.OfficeXmlFileException: The supplied data appears to be in the Office 2007+ XML. You are calling the part of POI that deals with OLE2 Office Documents. You need to call a different part of POI to process this data (eg XSSF instead of HSSF)
Vielen Dank im Voraus.
Ich wusste, dass es nicht funktionieren würde. Aber danke, um herauszufinden, dass es in der Version 3.13 ist. Ich habe herausgefunden, dass es einen Fehler mit der IDE gab, für einige, wie die Abhängigkeit nicht geladen wurde. Jetzt funktioniert alles gut.Ich habe auch die Datei anstelle von InputStream geändert (aber zu Testzwecken habe ich den schnellsten Weg versucht) – Sqrt