代码之家  ›  专栏  ›  技术社区  ›  Nitin Midha

创建动态Word文档时更新图表数据

  •  2
  • Nitin Midha  · 技术社区  · 15 年前

    我们需要创建动态word文档,这些word文档包含要动态替换/更新的表、图表、文本和图像。所以我们决定创建一个模板并在动态位置放置文本保持器。为了通过读取和更新模板创建新文档,我们决定使用OpenXML SDK 2.0。

    我能够成功地替换/更新文本/表格和图像内容(对于占位符标记,我们使用内容控件,并为每个内容控件分配一个唯一的标记)

    我仍在想,我们将如何修改图表数据。据我对chart部分的了解,它有自己的底层xlx数据文件,用于存储数据。所以现在更新图表部分,我可以想出三种不同的解决方案。

    1.)使用Open SDK更新底层xlx文件。我不确定这是否可以完成,但考虑到它只是一个xlx文件,所以我应该能够使用Open XML Sdk本身修改它。

    2.)创建图表,转换为图像,然后替换图像。

    3.)我也读过有关自定义XML的内容,在自定义XML中,我们可以将内容控件与该XML绑定。因此,我们的想法是创建一个以自定义XML作为数据源的图表,然后动态更新数据XML。

    任何建议或代码样本将不胜感激。我正在使用openxmlsdk2.0。

    1 回复  |  直到 15 年前
        1
  •  0
  •   Nitin Midha    15 年前

    我尝试使用approach1,修改了基本的xlsx数据,但似乎它不够,因为在Chart.xml->ChartSpace->Chart->PlotArea->BarChart->BarChartSeries->值下,它正在保存这些数值。所以我想我缺少了一个组件,它可以从xlsx读取数据,然后相应地更新图表。现在,我已经手动更新了xlsx和值,以便正确反映它。