2017-10-19 4 views
1

Ich schreibe text und text von tables in ein Word-Dokument.Schreibe Text und Tabellen in ein Wort mit Leerzeichen

Mit dem folgenden Code sind die tables unter der richtigen paragraphs platziert.

Iterator<IBodyElement> iter = xdoc.getBodyElementsIterator(); 
       while (iter.hasNext()) 
       { 
        IBodyElement elem = iter.next(); 
        if (elem instanceof XWPFParagraph) 
        { 
         relevantText.setText(((XWPFParagraph) elem).getText()); 

        } else if (elem instanceof XWPFTable) 
        {  
         tabellen.setText(((XWPFTable) elem).getText()); 

        } 
       } 

Jetzt, wenn ich versuche, ein whitespace/enter mit addBreak() oder addCarriageReturn() die Reihenfolge meines Dokuments zu machen, ist falsch. Die table text ist hinter allen text platziert.

Hat jemand eine Lösung dafür?

Antwort

2

Ich hatte das gleiche Problem vor ein paar Tagen. Hast du 2 verschiedene Läufe für die Absätze und Tabellen erstellt?

Weil ich tat, und wenn ich es zu 1 Lauf änderte, hat es für mich gearbeitet.

So:

XWPFRun text = paragraph.createRun(); 
+0

Danke, löst dies das Problem. Ich habe 'zwei Läufe' verwendet, einen für Text und einen für Tabellen. Wenn ich einen "Lauf" benutze, geht es gut. – Patrick

Verwandte Themen