Таблицу форматирования XWPFT можно использовать с помощью Apache Poi - PullRequest
0 голосов
/ 18 марта 2011

Как мне отформатировать таблицу при создании файла docx с помощью Apache POI. Я хочу установить размер ячеек, шрифт текста, цвет и т. Д.

Я нашел этот пример, но размер ячейки установлен в соответствии с размером текста.

             XWPFDocument document = new XWPFDocument();  

             // New 2x2 table  

             XWPFTable tableOne = document.createTable();  

             XWPFTableRow tableOneRowOne = tableOne.getRow(0);      
             tableOneRowOne.getCell(0).setText("Hello");  
             tableOneRowOne.addNewTableCell().setText("World");  
             XWPFTableRow tableOneRowTwo = tableOne.createRow();  
             tableOneRowTwo.getCell(0).setText("This is");  
             tableOneRowTwo.getCell(1).setText("a table");  

Я хочу центрировать таблицу и увеличивать размер ячеек.

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Вы можете поместить стол в центр, используя: table.setTableAlignment (TableRowAlign.CENTER);

0 голосов
/ 31 марта 2011

В настоящее время я не верю, что у классов XWPFTable * есть прямые установщики для этого. Вместо этого вам нужно взять соответствующий объект CT * из таблицы, строки или ячейки и установить свойства напрямую.

Файл .docx - это просто zip-файл из XML-файлов. Итак, я бы предложил вам создать два простых текстовых документа. В одной есть простая таблица, а в другой - эта таблица, но с примененным форматированием. Затем разархивируйте оба файла и разложите их, чтобы увидеть, какие параметры были установлены для применения требуемого форматирования.

Наконец, получите соответствующий объект CT и сделайте соответствующий вызов. Например, если для ячейки таблицы установлено значение foo = "bar" , вы должны сделать: XWPFTableCell cell = xwpfTable.getRow (0) .getCell (0); CTTc rawCell = cell.getCTTc (); rawCell.setFoo ( "бар");

Если вы нашли подходящий прием, рассмотрите возможность отправки патча для добавления обёрток к классам XWPFTable. Просто откройте ошибку в POZ bugzilla (https://issues.apache.org/bugzilla/) и загрузите патч.

...