你能像案例2一样在table里面的隔间里做一张table吗?你能像案例2一样在table里面的隔间里做一张table吗?
public class PoiTest3 {
public static void main(String[] args) throws Exception {
try (XWPFDocument doc = new XWPFDocument()) {
XWPFTable table = doc.createTable();
//Creating first Row
XWPFTableRow row1 = table.getRow(0);
row1.getCell(0).setText("First Row, First Column");
row1.addNewTableCell().setText("First Row, Second Column");
row1.addNewTableCell().setText("First Row, Third Column");
//Creating second Row
XWPFTableRow row2 = table.createRow();
row2.getCell(0).setText("Second Row, First Column");
row2.getCell(1).setText("Second Row, Second Column");
row2.getCell(2).setText("Second Row, Third Column");
//create third row
XWPFTableRow row3 = table.createRow();
row3.getCell(0).setText("Third Row, First Column");
row3.getCell(1).setText("Third Row, Second Column");
row3.getCell(2).setText("Third Row, Third Column");
// save to .docx file
try (FileOutputStream out = new FileOutputStream("c:\\excel\\table.docx")) {
doc.write(out);
}
}
}
}
1条答案
按热度按时间11dmarpk1#
XWPFTableCell是一个IBody,所以它提供了XWPFTable insertNewTbl(org.apache.xmlbeans.XmlCursor游标),所以是的,可以在表格单元格中添加表格。
但是
org.apache.xmlbeans.XmlCursor
的用法没有很好的文档记录。要创建该光标,我们需要表单元格,光标应位于其中,并且在该单元格中有一个新的空段落。之所以需要空段落,是因为我们使用该光标插入的所有内容都将位于光标所指向的元素之前。因此,该元素应为空段落,以避免将内容插入现有元素中,如具有内容的段落或包含元素的其他内容。
下面显示了一个最简单的完整示例。
它产生:
此代码使用当前Apache POI版本5.2.3进行了测试和工作。下载:https://poi.apache.org/download.html#POI-5.2.3。所需组件请参见https://poi.apache.org/components/index.html#components。