Ich verweise auf die Version 3.7 des Apache-POI und erhalte den Fehler "Kann nicht behoben werden", wenn ich Folgendes tue:
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
Andere Importanweisungen, die auf POI verweisen, geben mir KEINE Fehler, wie z.
import org.apache.poi.ss.usermodel.*;
Irgendwelche Ideen??
java
apache-poi
Mark Jackson
quelle
quelle
Antworten:
Damit OOXML funktioniert, benötigen Sie das POI-OOXML-Glas, das separat vom POI-Glas verpackt ist.
Laden Sie das POI-OOXML-Glas von folgendem Speicherort herunter:
http://repo1.maven.org/maven2/org/apache/poi/poi-ooxml/3.11/poi-ooxml-3.11.jar
Fügen Sie für Maven2 die folgende Abhängigkeit hinzu:
quelle
Die Klassen für die OOXML-Dateiformate (z. B. XSSF für XLSX) befinden sich in einer anderen Jar-Datei. Sie müssen das poi-ooxml-Glas zusammen mit den Abhängigkeiten dafür in Ihr Projekt aufnehmen
Sie können eine Liste aller Komponenten und deren Abhängigkeiten auf der POI - Website erhalten hier .
Was Sie wahrscheinlich tun möchten, ist das 3.11-Binärpaket herunterzuladen , das
poi-ooxml
JAR daraus zu holen und die Abhängigkeiten imooxml-lib
Verzeichnis. Importieren Sie diese in Ihr Projekt und Sie werden sortiert.Wenn Sie Maven verwenden, finden Sie hier eine Liste der Artefakte, auf die Sie sich verlassen möchten, aber es möchte ungefähr so aussehen:
Die Poi-Ooxml-Maven-Abhängigkeit zieht automatisch das Haupt-POI-JAR und die Abhängigkeiten für Sie ein. Wenn Sie mit Nicht-Tabellenkalkulationsformaten arbeiten möchten, möchten Sie auch von dem
poi-scratchpad
Artefakt abhängig sein , wie auf der Seite POI-Komponenten beschriebenquelle
Ich habe unten Inhalte in der App "build.gradle" hinzugefügt.
quelle
Wenn Sie Maven verwenden:
poi => poi-ooxml in artefaktId
quelle
3.12
) anstelle der Beta zu verwendenProblem: Beim Importieren der Klasse "org.apache.poi.xssf.usermodel.XSSFWorkbook" wird ein Fehler in Eclipse angezeigt.
Lösung: Verwenden Sie diese Maven-Abhängigkeit, um dieses Problem zu beheben:
-Hari Krishna Neela
quelle
1) importierte alle JARS aus dem POI-Ordner 2) importierte alle JARS aus dem ooxml-Ordner, der ein Unterverzeichnis des POI-Ordners ist. 3) Importierte alle JARS aus dem lib-Ordner, der ein Unterverzeichnis des POI-Ordners ist
quelle
Ich hatte das gleiche Problem, also habe ich die Datei poi-3.17.jar durchgesehen und es war kein xssf-Paket darin.
Ich ging dann die anderen Dateien durch und fand xssf im poi-ooxml-3.17.jar
Es scheint also, dass die Lösungen hinzugefügt werden müssen
zu Ihrem Projekt, da es zu funktionieren scheint (zumindest für mich)
quelle
Sie haben die Umgebung sowieso nicht beschrieben, Sie sollten Apache Poi-Bibliotheken herunterladen. Wenn Sie Eclipse verwenden, klicken Sie mit der rechten Maustaste auf Ihr Stammprojekt. Fügen Sie also im Java-Erstellungspfad ein externes JAR hinzu und importieren Sie die folgenden Bibliotheken in Ihr Projekt:
xmlbeans-2.6.0; poi-ooxml-schemas- ...; poi-ooxml- ...; poi- ....;
quelle
Ich brauchte die folgenden Dateien für meine Implementierung:
(Obwohl ich ehrlich gesagt nicht ganz sicher bin, ob sie alle notwendig sind ...) Es ist ein wenig verwirrend, weil sie so verpackt sind. Ich musste sie manuell in meinem eigenen "lib" -Ordner ablegen und dann die Referenzen hinzufügen ...
Maven scheint immer mehr herunterzuladen, als ich brauche, also platziere ich Bibliotheken / DLLs und ähnliches immer manuell.
quelle
Nachdem Sie mehrere Dinge ausprobiert hatten, funktionierte Folgendes: 1. Manuelles Herunterladen von "poi" und "poi-ooxml" 2. Hinzufügen dieser D / W-Gläser zu "Maven Dependencies"
quelle