2015-02-05 2 views
0

Я хочу создать таблицу в Word с POI-HWPF (например, формат doc). Мой пример кода является:HWPF-POI: вставка таблицы в слово с java

Table table = document.getRange().insertTableBefore((short) 2, 2); 

Таблица вставляется, но я не вижу его - поскольку если таблица имеет ширину 0. нибудь может мне помочь?

ответ

1

Файл, связанный с this, содержит отчет об ошибке, который должен дать вам представление о том, как это сделать.

Итак, по существу: вам, вероятно, нужно добавить некоторый контент (т. Е. Абзац в ячейке), чтобы Word мог что-то визуализировать.

Вот пример код, используемый в сообщении об ошибке:

private static void test (int rows, int columns) throws Exception { 
    // POI apparently can't create a document from scratch, 
    // so we need an existing empty dummy document 
    POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("empty.doc")); 
    HWPFDocument doc = new HWPFDocument(fs); 

    Range range = doc.getRange(); 
    Table table = range.insertBefore(new TableProperties(columns), rows); 

    for (int rowIdx=0; rowIdx<table.numRows(); rowIdx++) { 
     TableRow row = table.getRow(rowIdx); 
     System.out.println("row "+rowIdx); 
     for (int colIdx=0; colIdx<row.numCells(); colIdx++) { 
      TableCell cell = row.getCell(colIdx); 
      System.out.println("column "+colIdx+", num paragraphs "+cell.numParagraphs()); 
      try { 
       Paragraph par = cell.getParagraph(0); 
       par.insertBefore(""+(rowIdx*row.numCells()+colIdx)); 
      } catch (Exception ex) { 
       ex.printStackTrace(); 
      } 
     } 
    } 
+0

, кстати, ссылка не работает;) – Louisa

+0

@Louisa Спасибо за подсказку. Исправлена. – morido