我们可以使用java在word模板中的现有表中添加多行

时间:2016-04-25 11:42:54

标签: java ms-word word-template

我有一个Word模板,包括一个表(3列和1行)。我想使用Java中的任何API向此表添加更多行。我可以在Word 2010模板中的现有表中添加其他行吗?

1 个答案:

答案 0 :(得分:1)

使用此处https://poi.apache.org/中的Java Apache POI,但除非您使用excel,否则这可能有点棘手。

另一个选项是此处的Aspose API http://www.aspose.com/

此代码会向现有表格添加一行

  Document doc = new Document(MyDir + "document.docx");
  // Retrieve the first table in the document.
  Table table = (Table)doc.getChild(NodeType.TABLE, 0, true);
  // Clone the last row in the table.
  Row clonedRow = (Row)table.getLastRow().deepClone(true);
  // Remove all content from the cloned row's cells. This makes the row ready for
  // new content to be inserted into.
  for (Cell cell: clonedRow.getCells())
{    
       cell.getFirstParagraph().getRuns().clear();
       cell.getFirstParagraph().appendChild(new Run(doc,"hello text"));
}
// Add the row to the end of the table.
table.appendChild(clonedRow);

doc.save(MyDir + "Table.AddCloneRowToTable Out.doc");

参考:http://www.aspose.com/community/forums/thread/648997/reg-adding-rows-dynamically-to-the-existing-table-in-the-document.aspx