2017-02-22 95 views
1

我的C#应用​​程序使用OpenXML创建了一个MSWord文档,其中包含多个表格。最后一部分是添加条形图。我无法找到这种情况的一个很好的例子。如何将条形图添加到OpenXML创建的文档中

感谢您的帮助!

我从头开始创建文档。与开始:使用

(WordprocessingDocument myDoc = WordprocessingDocument.Create(documentStream,WordprocessingDocumentType.Document,自动保存:真))

然后我在C#代码添加新表和段落。一切工作,直到我进入条形图。我找到了一个将饼图插入word文档的示例项目,但我不明白用于转换它的图表类型之间的差异。下面是我发现饼图示例项目:

https://code.msdn.microsoft.com/office/How-to-create-Chart-into-a7d424f6

感谢您的帮助!

+0

我对OpenXML并不熟悉,但听起来您可能希望从Google搜索开始,看看其他人的尝试过。你有没有试过阅读OpenXML文档(https://msdn.microsoft.com/en-us/library/office/bb448854.aspx)?除非你对你遇到的问题更具体,否则你不可能得到很多帮助。 – MusikPolice

+1

你到目前为止尝试过什么?你是从头开始创建文档还是使用模板来填写?为了最好地帮助你,我们需要更多地了解你的问题。 –

+0

将图表添加到docx文档并不重要。你找到的例子似乎是一个很好的起点。它插入一个Pie3DChart。可以使用BarChart类型(均来自DocumentFormat.OpenXml.Drawing.Charts命名空间)添加条形图。 –

回答

2

要插入一个基本的条形图,我不会看看饼图代码,并尝试猜测如何将其转换为条形图。

更快的解决方案是使用Open XML Productivity Tool。它具有一个功能,允许您打开2个文件,确定两个Open XML结构之间的差异,并生成使第一个文件看起来像第二个文件所需的代码。

试试这个方法:

  1. Install the Open XML Productivity Tool
  2. 保存Word文档(加入饼图片之前干净的版本),并将其命名NoBarChart.docx
  3. 使NoBarChart.docx名副本它WithBarChart.docx
  4. 用Word打开WithBarChart.docx并添加一个条形图(插入 - >图表 - >栏)。
  5. 风格的条形图颜色,格式等,以满足您的最终解决方案,并保存和关闭。
  6. 运行Open XML Productivity Tool,然后单击顶部的比较文件按钮。
  7. 选择NoBarChart.docx源和WithBarChart.docx为目标
  8. 单击不同的文件中突出显示部分,然后点击视图部分DIFF看到XML的差异。然后点击查看封装代码,该工具将生成代码以使源看起来像目标。

检查它生成的代码,了解如何添加条形图。如果缺少一些代码,您可以使用该工具生成整个目标文件。

指向一个简单的WPF应用程序的链接,该应用程序生成带有条形图is on GitHub的空白文档。下面是该文件的一个画面:

enter image description here

同样的方法也可以用来产生最Word,Excel或PowerPoint文件以及它们提供的功能。

+0

@Taterhead现在工作,谢谢 – WhatsThePoint