pptx4j在绘制图形时重复数据

时间:2017-05-02 15:07:49

标签: java powerpoint openxml docx4j

我必须对OpenXML有一个不好的理解,但我不明白为什么在使用docx4j在功率点演示中绘制图形时,必须:

  • 使用数据系列
  • 创建嵌入式Excel文件(data.xlsx
  • 创建一个xml文件(chart_data.xml),其中包含指向数据系列的链接

  • 使用包含chart_data.xml数据的strCache元素填充data.xlsx。我们正在重复数据系列。

似乎power point仅使用strCache中的元素来填充其图形。如果它们丢失,则不会显示图表。

为什么我们需要创建一个excel工作表和一个包含相同数据的xml文件?

我们在图形对象和用于某事物的嵌入式Excel工作表之间声明的链接是什么?

1 个答案:

答案 0 :(得分:1)

如果您使用PowerPoint创建pptx并插入图表,它也会添加XLSX。

在图表部分的xml中,c:externalData元素指向XLSX。

如果您没有c:externalData元素,则无需创建Excel工作表。但是将其遗漏会影响用户在Powerpoint中编辑图表的能力。

奇怪的是,c:externalData有子c:autoUpdate,但它不像http://webapp.docx4java.org/OnlineDemo/ecma376/DrawingML/autoUpdate.html

中描述的那样工作

以上仅基于Powerpoint 2010中的测试;在2013年或2016年,情况可能会有所不同。