Ich habe ein Word-Dokument Docx-Datei
Wie Sie im Word-Dokument sehen können, gibt es eine Reihe von Fragen mit Bullet-Punkten. Im Moment versuche ich, jeden Absatz aus der Datei mit Apache POI zu extrahieren. Hier ist mein aktueller Code
%Vor% Das Problem mit der obigen Methode besteht darin, dass jede Zeile statt Absätze gedruckt wird. Auch die Aufzählungspunkte sind aus der extrahierten whole
-Zeichenfolge verschwunden. Der whole
gibt eine einfache Zeichenfolge zurück.
Kann mir jemand erklären, was ich falsch mache? Bitte schlagen Sie auch vor, wenn Sie eine bessere Idee haben, es zu lösen.
Der obige Code ist korrekt und ich habe meinen Code auf meinem System ausgeführt, der jeden einzelnen Absatz enthält. Ich denke, das Problem mit dem Schreiben von Inhalt in der docx Datei, wenn ich Inhalte in Aufzählungszeichen schreibe und 'enter' Schlüssel verwende, bricht mein aktuelles Aufzählungszeichen Punkte und über Code machen diese gebrochene Linie als saparate Absatz.
Ich schreibe unten Codebeispiel kann sein Es ist nützlich für Sie hier zu sehen, ich verwende Set Datenstruktur für das Ignorieren von doppelten Fragen aus docx.
Abhängigkeit von Apache poi ist unter
%Vor%Codebeispiel:
%Vor% Ich konnte nicht finden, welche Version von Apache POI Sie verwenden. Wenn es sich um die neueste Version (3.17) handelt, hat das in Ihrem Code verwendete Objekt XWPFParagraph
eine Methode getNumFmt()
. Aus der Dokumentation von apache poi ( Ссылка ) gibt diese Methode die Zeichenfolge zurück "bullet"
, wenn der Absatz mit einem Aufzählungszeichen beginnt. Was den zweiten Punkt Ihrer Frage anbelangt (was mit den Kugeln passiert), können Sie etwas wie folgt lösen:
In Bezug auf Ihren ersten Punkt, was ist die erwartete Ausgabe? Ich habe deinen Code mit dem mitgelieferten docx ausgeführt und abgesehen von den fehlenden Kugeln, die du erwähnt hast, sah es ganz okay aus, mit dem Debugger durchzukommen.