2016-04-06 6 views
0

Ich arbeite gerade an der Erstellung von Word-Dokumenten in Java und ich verwende XWPFDocument von POI Apache. Das endgültige Dokument sieht wie folgt ausWie kann ich die Textausrichtung in XWPFDocument ändern?

http://sk.uploads.im/t/rtwvm.png

bis kein alles gut funktioniert, ich Tabelle erstellt, verwaltet Zellen zu verschmelzen, aber ich kann nicht einen Weg zu ändern, um die Textausrichtung in Tabellenzellen finden. Ich möchte einfach, dass "Typ 1" nach oben zeigt. Ich fand nur eine Lösung mit CellStyle, die nur in Excel und nicht in Word zu funktionieren scheint, die ich verwende.

Antwort

2

Wahrscheinlich müssen Sie zwei Dokumente in Word erstellen, eins mit der normalen Ausrichtung und eines mit dem geänderten, dann entpacken Sie sie (.docx ist eigentlich eine Zip-Datei) und analysieren Sie, welche xml-Struktur dafür verantwortlich ist.

Dann können Sie überprüfen, ob POI bereits höhere APIs für diese anbietet oder ob Sie auf die POI-Klassen niedriger Ebene über die getCTxxx()-Methoden zugreifen müssen, z. XWPFTableCell.getCTTc() gibt die zugrunde liegende XML-Struktur zurück und ermöglicht Ihnen, Dinge zu tun, die über die normalen POI-Schnittstellen nicht möglich sind.

+0

Vielen Dank für Ihre Antwort. Es beantwortete einfach alle meine Fragen, obwohl wegen der ineffizienten Konstruktion in Apache-Poi-Bibliotheken die eigentliche Kodierung viel Zeit von mir in Anspruch nahm. Ich werde versuchen, Codes so schnell wie möglich für andere Leute zu veröffentlichen, die interessiert sein könnten. –

0

Sie können etwas verwenden wie: cell.getCTTc().getTcPr().addNewTextDirection().setVal(STTextDirection.BT_LR), wo die Parameter gefunden werden in: STTextDirection.

Das Problem, das ich noch nicht lösen konnte, ist, dass die Zeilenhöhe nicht automatisch auf die vertikale Textlänge aktualisiert, dann wird der Text nicht vollständig angezeigt. Wenn Sie es lösen, posten Sie bitte hier.