我最终弄清楚了这一点!
脚步:
生成 xlsx 文件,其中包含我的数据。
将xlsx文件保存到本地
在我的Word文档中创建一个新的图表部分并生成图表内容
ChartPart wordChartPart = document.MainDocumentPart.AddNewPart<ChartPart>();
string wordChartId = document.MainDocumentPart.GetIdOfPart(wordChartPart);
WordDocumentBuilder.Workflows.SpreadsheetUtils.GenerateBarChartPart(wordChartPart, categories, dataRows);
Run Code Online (Sandbox Code Playgroud)将电子表格嵌入到 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();
}
}
Run Code Online (Sandbox Code Playgroud)然后,我可以将内联绘图插入引用图表部分的 Word 文档中。