2017-10-19 21 views
1

J'écris text et text de tables dans un document Word.Écrire du texte et des tableaux dans un mot, avec des espaces blancs/entre

Avec le code suivant les tables sont placés sous le droit paragraphs.

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()); 

        } 
       } 

Maintenant, lorsque je tente de faire un whitespace/enter avec addBreak() ou addCarriageReturn() l'ordre de mon document est erroné. Le table text est placé après tous les text.

Quelqu'un at-il une solution pour cela?

Répondre

2

J'ai eu le même problème il y a quelques jours. as-tu créé 2 passages différents pour les paragraphes et les tables? Parce que je l'ai fait, et quand je l'ai changé en 1 course, ça a marché pour moi.

Comme ceci:

XWPFRun text = paragraph.createRun(); 
+0

Merci, cela résout le problème. J'ai utilisé 'deux runs', un pour le texte et un pour les tables. Quand j'utilise un 'run' ça va bien. – Patrick