我们使用Apache POI 3.14通过捆绑包org.Apache.servicemix.bundles.POI从Sling内容生成pptx文档。
在一个简单的独立Java应用程序中,通过测试代码,它可以很好地工作。
当我们将此代码放在一个包中并部署到Felix时,生成的表由一个空单元格组成。
我发现了一些描述类似问题的帖子,一些帖子要求用ooxml模式替换poi-ooxml模式,但我想知道这是否能解决我们的问题,因为独立应用程序使用的poi捆绑包与Felix部署的相同。
这是我们使用的代码:
public static void addTableToSlide(XMLSlideShow ppt, XSLFSlide slide) {
XSLFTable tbl = slide.createTable(1, 1);
for (int i = 0; i < 9; i++) {
XSLFTableRow row = tbl.addRow();
for (int j = 0; j < 9; j++) {
row.addCell();
}
}
tbl.setAnchor(new Rectangle2D.Double(50, 50, 450, 300));
}
这就是Felix中生成的内容:
<a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/table">
<a:tbl>
<a:tblPr/>
<a:tblGrid/>
</a:tbl>
</a:graphicData>
是什么导致了这个问题,这可能是图书馆之间的冲突吗?我如何调试它以找出Felix中的问题?