Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用ApachePOI更新XSLFTable(在.pptx演示文稿中的表)?_Java_Apache Poi_Powerpoint_Xslf - Fatal编程技术网

Java 如何使用ApachePOI更新XSLFTable(在.pptx演示文稿中的表)?

Java 如何使用ApachePOI更新XSLFTable(在.pptx演示文稿中的表)?,java,apache-poi,powerpoint,xslf,Java,Apache Poi,Powerpoint,Xslf,我正在使用ApachePOI,并尝试使用Powerpoint报告自动化一些任务。更准确地说,我想从代码中更新.pptx演示文稿中的数据,包括表 多亏了这个页面,我成功地获得了XSLFTable对象,但现在我正在尝试更新表结构 不幸的是,我不知道如何创建或删除该表中的行或列。getRows方法返回一个列表,但它似乎不可修改。有一个addRow方法,但我没有找到任何可以删除/删除行的方法 你知道我怎样才能做到吗 非常感谢,并致以最良好的问候 获取XSLFTable 添加行和单元格 删除行 获取XSL

我正在使用ApachePOI,并尝试使用Powerpoint报告自动化一些任务。更准确地说,我想从代码中更新.pptx演示文稿中的数据,包括表

多亏了这个页面,我成功地获得了XSLFTable对象,但现在我正在尝试更新表结构

不幸的是,我不知道如何创建或删除该表中的行或列。getRows方法返回一个列表,但它似乎不可修改。有一个addRow方法,但我没有找到任何可以删除/删除行的方法

你知道我怎样才能做到吗

非常感谢,并致以最良好的问候

获取XSLFTable

添加行和单元格

删除行

获取XSLFTable

添加行和单元格

删除行


谢谢!我不熟悉底层的CT*对象,但是你的代码很清楚:顺便问一下,你能告诉我更多关于shape.getAnchor的信息吗;线我们为什么需要它?对不起。那一行是意外添加的。此场景中不需要。非常感谢!我不熟悉底层的CT*对象,但是你的代码很清楚:顺便问一下,你能告诉我更多关于shape.getAnchor的信息吗;线我们为什么需要它?对不起。那一行是意外添加的。在这种情况下不需要。
XSLFTable t = null;
for (XSLFShape shape : slide) {
    if (shape instanceof XSLFTable) {
        t = (XSLFTable) shape;
        r = t.getRows();
   }
}
XSLFTableRow titleRow = tbl.addRow();
titleRow.setHeight(50);
XSLFTableCell titleCell1 = titleRow.addCell();
XSLFTextParagraph p1 = titleCell1.addNewTextParagraph();
p1.setTextAlign(TextAlign.CENTER);
XSLFTextRun r1 = p1.addNewTextRun();
r1.setText("Column title");
r1.setBold(true);
r1.setFontColor(new Color(0, 104, 145));
titleCell1.setFillColor(new Color(190, 230, 245));
r1.setFontSize(25.0);
titleCell1.setVerticalAlignment(VerticalAlignment.MIDDLE);
t.getCTTable().getTrList().remove(t.getNumberOfRows()-1); //Remove the last row from table.