求高手,用java、poi生成的pptx文件打开报错

tank212 2014-09-22 11:06:20
用poi生成*.pptx文件。使用XSLF建立一个新的幻灯片,插入XSLFTable表格。保存为pptx文件后,双击打开会提示文件错误,打开失败。
使用poi读取刚才生成的pptx文件,发现保存的表格变成0行0列的了,不知道怎么回事。用官网提供的例子也是这样。有高手试过吗?
官网代码如下:

XMLSlideShow ppt = new XMLSlideShow();

// XSLFSlide#createSlide() with no arguments creates a blank slide
XSLFSlide slide = ppt.createSlide();

XSLFTable tbl = slide.createTable();
tbl.setAnchor(new Rectangle2D.Double(50, 50, 450, 300));

int numColumns = 3;
int numRows = 5;
XSLFTableRow headerRow = tbl.addRow();
headerRow.setHeight(50);
// header
for(int i = 0; i < numColumns; i++) {
XSLFTableCell th = headerRow.addCell();
XSLFTextParagraph p = th.addNewTextParagraph();
p.setTextAlign(TextAlign.CENTER);
XSLFTextRun r = p.addNewTextRun();
r.setText("Header " + (i+1));
r.setBold(true);
r.setFontColor(Color.white);
th.setFillColor(new Color(79, 129, 189));
th.setBorderBottom(2);
th.setBorderBottomColor(Color.white);

tbl.setColumnWidth(i, 150); // all columns are equally sized
}

// rows

for(int rownum = 0; rownum < numRows; rownum ++){
XSLFTableRow tr = tbl.addRow();
tr.setHeight(50);
// header
for(int i = 0; i < numColumns; i++) {
XSLFTableCell cell = tr.addCell();
XSLFTextParagraph p = cell.addNewTextParagraph();
XSLFTextRun r = p.addNewTextRun();

r.setText("Cell " + (i+1));
if(rownum % 2 == 0)
cell.setFillColor(new Color(208, 216, 232));
else
cell.setFillColor(new Color(233, 247, 244));

}

}


FileOutputStream out = new FileOutputStream("table.pptx");
ppt.write(out);
out.close();
...全文
430 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
陈明一 2015-06-25
  • 打赏
  • 举报
回复
我也遇到该问题了,不知道是不是我加载的包有问题,后面换成用Maven来构建工程就可以了。 相关的POM的配置如下: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.12</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-scratchpad</artifactId> <version>3.12</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.12</version> </dependency>
tank212 2014-09-26
  • 打赏
  • 举报
回复
这是poi的一个bug,需要另外添加ooxml-schemas-1.1.jar包就可以了
iversonqiu03 2014-09-25
  • 打赏
  • 举报
回复
lz能分享一下吗 谢谢了
tank212 2014-09-23
  • 打赏
  • 举报
回复
没人搞过么?
tank212 2014-09-23
  • 打赏
  • 举报
回复
多谢大家关注,自己解决了
tank212 2014-09-23
  • 打赏
  • 举报
回复
求高手指点啊

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧