在POI模式中找不到CTBarChart

时间:2014-10-08 14:04:50

标签: apache-poi powerpoint

我目前正在使用POI使用XSLF编辑PPTX文件中嵌入式图表中的数据。我找到了一个使用带有饼图的模板ppt的例子,它运行得很好。我也尝试编辑折线图,但它确实有效。但是,当我尝试编辑嵌入式条形图时,我发现CTBarChart.class没有在模式(org.openxmlformats.schemas.drawingxml.x2006.chart.CTBarChart.class)中实现。

我想知道是否必须编写自己的XML解析器或查找不同的库,或者CTBarChart是否是我未找到的POI中的另一个文件的一部分。

1 个答案:

答案 0 :(得分:4)

在这个问题上有一个Apache POI FAQ Entry

引用该常见问题解答中的重要部分:

  

有两个jar文件可用,如组件概述部分所述。所有模式的完整jar都是ooxml-schemas-1.1.jar,目前大约是15mb。较小的poi-ooxml-schemas jar只有4mb左右。后一个jar文件只包含通常使用的部分。

     

许多用户选择使用较小的poi-ooxml-schemas jar来节省空间。但是,poi-ooxml-schemas jar只包含通常使用的XSD和类,如单元测试所标识的那样。每隔一段时间,您可能会尝试使用最小的poi-ooxml-schemas jar中不包含的部分文件格式。在这种情况下,您应该切换到完整的ooxml-schemas-1.1.jar。从长远来看,您可能还希望提交一个新的单元测试,该测试使用XSD的额外部分,以便将来的poi-ooxml-schemas jar包含它们。

因此,短期内您需要从小poi-ooxml-schemas jar切换到完整ooxml-schemas jar。从长远来看,您需要向使用该类的Apache POI提交单元测试,因此它将自动包含在未来的小罐中