gpt4 book ai didi

C# OpenXML 在 Word 文档中嵌入电子表格图表

转载 作者:行者123 更新时间:2023-12-01 19:43:18 28 4
gpt4 key购买 nike

我使用 C# OpenXML 生成了一个包含数据的电子表格和一个基于该数据的图表。

enter image description here

我现在想将此图表嵌入到Word文档中,以便在发送这些报告时,可以根据需要编辑图表(不是外部链接)。

我环顾了几个小时,找不到任何一致的文档来实现这一目标。大多数线索似乎都在谈论“EmbeddedPackageParts”。

如果有人有任何有用的文章或可以提供一些清晰度,我们将不胜感激。

干杯,邓肯。

最佳答案

我终于弄清楚了!

步骤:

  1. 生成 xlsx 文件,其中包含我的数据。

  2. 将 xlsx 文件保存在本地

  3. 在我的Word文档中创建一个新的图表部分并生成图表内容

    ChartPart wordChartPart = document.MainDocumentPart.AddNewPart<ChartPart>();
    string wordChartId = document.MainDocumentPart.GetIdOfPart(wordChartPart);
    WordDocumentBuilder.Workflows.SpreadsheetUtils.GenerateBarChartPart(wordChartPart, categories, dataRows);
  4. 将电子表格嵌入到 ChartPart 中

    EmbeddedPackagePart embeddedObjectPart = wordChartPart.AddEmbeddedPackagePart(@"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");

    using (FileStream stream = new FileStream(file, FileMode.Open))
    {
    byte[] documentBytes = new byte[stream.Length];

    stream.Read(documentBytes, 0, documentBytes.Length);

    using (BinaryWriter writer = new BinaryWriter(embeddedObjectPart.GetStream()))
    {
    writer.Write(documentBytes);
    writer.Flush();
    }
    }
  5. 然后我可以将内联绘图插入引用图表部分的 Word 文档中。

关于C# OpenXML 在 Word 文档中嵌入电子表格图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52826599/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com