OpenXML SDK 不支持新文档中图表 Excel 功能中的编辑数据

OpenXML SDK does not support Edit Data in Excel functionality in Chart in a fresh document

我正在使用 OpenXML SDK 在 C# 中生成 Word 文档。对于图表,它不支持 Excel 功能中的编辑数据。

我在这里找到了一些示例代码来生成图表。请右键单击图表区域,然后选择编辑数据,没有任何反应。 https://code.msdn.microsoft.com/office/How-to-create-Chart-into-a7d424f6

预期的行为是打开 Excel 数据。

我还尝试了另一个流行的开源库 Xceed Docx https://github.com/xceedsoftware/docx

同样的问题也存在。 Syncfusion 确实支持此功能,但需要支付许可费用。

如何使用 OpenXML SDK 或 DocX 或任何其他开源库实现此功能?

30 年 11 月编辑 - 我知道从模板创建文档(模板已经有图表,它支持编辑 Excel 功能)然后复制 it/generate 代码,然后使用 OpenXMLSDK PowerTool/OpenXMLSDK 更新图表值生产力工具。

例如:OpenXmlPowerTools.ChartUpdater.UpdateChart() http://ericwhite.com/blog/update-cached-data-and-embedded-xlsx-for-charts-in-docx-pptx/

我正在寻找在像 syncfusion 组件这样的新文档中创建图表。 Syncfusion 不需要任何模板。

如有任何帮助,我们将不胜感激。谢谢

是的,这可以使用免费的 OpenXML SDK 和 OpenXML Productivity Tool。请按照以下步骤操作:

  1. 首先 installing both the OpenXML SDK and the OpenXML Productivity Tool 到您的开发机器上。
  2. 使用 Word,生成一个包含饼图的 Word 文档,其中包含您想要的最终要求。
  3. 使用快捷效率工具,打开在第 2 步中创建的 word 文档,然后单击顶部的 Reflect Code 按钮。生成文档所需的c#代码将在右侧的window中。
  4. 使用 Visual Studio,创建一个名为 WordChartGenerator 的简单 C# 控制台应用程序项目。对于此项目,在包管理器控制台中键入 Install-Package DocumentFormat.OpenXML。这会为您的项目引入必要的 DLL 以使用 OpenXML。
  5. 为此项目创建一个新的 class 文件:将其命名为 GeneratedClass.cs 并使用步骤 3 中生成的代码替换全部内容。
  6. GeneratedClass.cs 顶部的名称空间行更改为 namespace WordChartGenerator
  7. 返回 Program.cs 文件并在 main 内部,实例化 GeneratedClass 的一个实例 class 并使用指向所需完整文件路径名的路径调用 CreatePackage。类似于以下内容:

    class Program
    {
        static void Main(string[] args)
        {
            var wordGenerator = new GeneratedClass();
        wordGenerator.CreatePackage("C:\Users\jeff\Documents\WordWithChart.docx");
        }
    }
    
  8. 运行 程序,它将在您指定的目录中生成文件。

下面的屏幕截图来自通过这些步骤生成的文件