Frage

Ich habe versucht, JXL und Apache POI zu verwenden, um Daten aus einer Excel -Datei zu laden, bis jetzt der JXL -Mechanismus gut funktioniert hat. Auch wenn ich eine Bilder in die Datei einbettet.

Ich habe eine Datei von einer Quelle erhalten, die nicht analysiert wird. Ich bekomme die folgende Ausnahme mit POI

Exception in thread "main" org.apache.poi.hssf.record.RecordInputStream$LeftoverDataException: Initialisation of record 0xE2 left 2 bytes remaining still to be read.
     at org.apache.poi.hssf.record.RecordInputStream.hasNextRecord(RecordInputStream.java:124)
     at org.apache.poi.hssf.record.RecordFactory.createRecords(RecordFactory.java:402)
     at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:277)
     at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:202)
     at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:184)
     at testXlsParsers.main(TestXlsParsers.java:19)

Und mit JXL bekomme ich einen Index aus Grenzen

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
     at java.util.ArrayList.RangeCheck(ArrayList.java:546)
     at java.util.ArrayList.get(ArrayList.java:321)
     at jxl.read.biff.WorkbookParser.getSheet(WorkbookParser.java:247)
     at ParserXLS.parse(ParserXLS.java:27)
     at ParserXLS.main(ParserXLS.java:46)

Die Datei wird in Excel geladen, aber nicht in ein offenes Büro und das einzige, was ich in den Rohdaten sehen kann ... wenn ich einen weiteren JPG in seine Geldstrafe stecke.

<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.1-c036 46.277092, Fri Feb 23 2007 14:16:18        ">

Gibt es eine Möglichkeit, dies zu ignorieren? Wie würde ich diese Datei analysieren?

Vielen Dank.

War es hilfreich?

Lösung

Eine Sache, die Sie ausprobieren sollten, ist die Verwendung einer neueren Version von Apache POI - Fehler wie diese werden im Laufe der Zeit behoben.

Wenn die neueste Version von POI nicht hilft (3.8 Beta 2 nach dem Schreiben), sollten Sie einen neuen Fehler im Poi -Bugzilla öffnen und die Problemdatei hochladen. Die Ausnahme, die Sie sehen, wird durch Poi verursacht, der der Ansicht ist, dass es eine gewisse Datenmenge und mehr finden sollte. Mit der Datei ist es möglich zu ermitteln, warum diese Daten vorhanden sind, und um sie herum zu arbeiten. (Das heißt, vorausgesetzt, es wurde noch nicht repariert!)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top