如果我通过构造函数XSSFWorkbook()创建XSSFWorkbook,是否可以创建空主题?我可以创建新的主题,但不完全。我可以创建文件content_types.xml两个条目和/xl/_rels/workbook.xml.rels:无法在新的ApachePOI中简单创建主题XSSFWorkbook
XSSFWorkbook xssfWorkbook = new XSSFWorkbook();
POIXMLDocumentPart docThemePart = xssfWorkbook.createRelationship(XSSFRelation.THEME, XSSFFactory.getInstance(), 1);
通常情况下这是不可能的ApachePOI,因为它会导致错误。我不得不修改ApachePOI ThemesTable类 - 我加的构造(!):
public ThemesTable() { super(); }
然后上面的函数创建文件/xl/theme/theme1.xml太多,但它是空的。如何填写此文件?如果我得到主题
ThemesTable theme = (ThemesTable) docThemePart;
并改变它,内容不写入theme.xml。如何填写此文件? 我检查了Zip创建。 ZipPartMarshaller类中的方法marshall()从某些工作簿部分获取输入流。而对于主题输入流是空的。也许这就是问题所在?当我尝试(用于测试)创建其他对象时:
xssfWorkbook.createRelationship(XSSFRelation.CHART, XSSFFactory.getInstance());
一切都很好。
现在该做什么?
谢谢,现在一切正常。 – Piotr