java - Apache POI 合并 Word 文档中表格中的单元格

标签 java apache merge apache-poi cells

我需要一个表格,其中第一行和第二行的单元格合并。

像这样:

表格图片(我无法发布图片)http://i.stack.imgur.com/dAO6j.png

我一直在查看与该主题相关的所有问题,并且找到了一些将网格跨度应用于单元格的答案,但我找不到真正的解决方案。

这是我从谷歌和本网站获得的示例代码:

    XWPFDocument document = new XWPFDocument();
    XWPFTable table = document.createTable(7, 2);

    fillTable(table);

    XWPFTableCell cellRow1 = table.getRow(0).getCell(0);
    XWPFTableCell cellRow2 = table.getRow(1).getCell(0);

    cellRow1.getCTTc().addNewTcPr();
    cellRow1.getCTTc().getTcPr().addNewGridSpan();
    cellRow1.getCTTc().getTcPr().getGridSpan().setVal(BigInteger.valueOf(2L));

    cellRow2.getCTTc().addNewTcPr();
    cellRow2.getCTTc().getTcPr().addNewGridSpan();
    cellRow2.getCTTc().getTcPr().getGridSpan().setVal(BigInteger.valueOf(2L));

    FileOutputStream out = new FileOutputStream("Table.docx");
    doc.write(out);
    out.close();

我从这段代码中得到的是:

enter image description here

我尝试使用 table.getRow(0).removeCell(1); 删除“额外”单元格,但没有成功,是我做错了什么吗?

最佳答案

看来 xml 也必须删除:

 XWPFTableCell removed = tableRow.getCell(idx);
 removed.getCTTc().newCursor().removeXml();
 tableRow.removeCell(idx);

关于java - Apache POI 合并 Word 文档中表格中的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27209863/

相关文章:

git merge recursive theirs,它是如何工作的?

javax.net.ssl.SSLException : hostname in certificate didn't match in conjunction with Apache httpd virtual hosts 异常

apache - 同一个 Symfony 应用程序上的多个域

java - 使用 Arrays.sort 对数组元素进行排序

java - 将 jtextfield 的值插入数据库,

python - 在 apache (ubuntu 12) 下将 python 脚本作为 cgi 运行时遇到问题

c++ - 使用 vector 的合并排序 C++

audio - 将 soundcloud 中的音频与视频文件合并并存储在我们的服务器上?违反api?

java - Android:我不明白 String.valueOf(Time.setToNow ) 的值(value)

java - Spring - 如何注入(inject)具体的接口(interface)实现?