2015-03-29 2 views
1

Существует много учебников по apache poi, но у меня проблемы с созданием таблицы. Я пытаюсь этот код:Apache poi table (XWPFTable) не генерируется должным образом

public class CreateTable 
{ 
    public static void main(String[] args)throws Exception 
    { 
     //Blank Document 
     XWPFDocument document= new XWPFDocument(); 

     //Write the Document in file system 
     FileOutputStream out = new FileOutputStream(
       new File("create_table.docx")); 

     //create table 
     XWPFTable table = document.createTable(); 
     //create first row 
     XWPFTableRow tableRowOne = table.getRow(0); 
     tableRowOne.getCell(0).setText("col one, row one"); 
     tableRowOne.addNewTableCell().setText("col two, row one"); 
     tableRowOne.addNewTableCell().setText("col three, row one"); 
     //create second row 
     XWPFTableRow tableRowTwo = table.createRow(); 
     tableRowTwo.getCell(0).setText("col one, row two"); 
     tableRowTwo.getCell(1).setText("col two, row two"); 
     tableRowTwo.getCell(2).setText("col three, row two"); 
     //create third row 
     XWPFTableRow tableRowThree = table.createRow(); 
     tableRowThree.getCell(0).setText("col one, row three"); 
     tableRowThree.getCell(1).setText("col two, row three"); 
     tableRowThree.getCell(2).setText("col three, row three"); 

     document.write(out); 
     out.close(); 
     System.out.println("create_table.docx written successully"); 
    } 
} 

Но в Свободном офисе UBUNTU таблицы имеет ширину бесконечности, и когда я загрузить его в документ Google, не только ничего в этом документе. Настройка ширины таблицы не помогает. Что я делаю неправильно? Помогите пожалуйста ((

ответ

0

Ваш код работает просто отлично!

XWPF для создания .docx документов. Если вам нужно работать с .doc вам придется использовать HWPF.

Также ... The Структура XML этих документов различна. Проблемы с форматированием, о которых вы упомянули, могут быть вызваны этим.

+1

Вопрос о .docx и XWPF. Я могу подтвердить, что эта проблема существует. – Jakub