gpt4 book ai didi

C# 将 Excel 图表作为对象(而不是图片)导出到 Word

转载 作者:行者123 更新时间:2023-11-30 12:48:05 26 4
gpt4 key购买 nike

我想将 Excel 图表作为对象(Excel 图表)而不是图片导出到 Word。使用 Chart.CopyPicture 图片非常简单

我正在使用 AddOleObject,但它给出了关于无法链接文件的错误。这是代码:

Document doc; // Existing document
string chartSheet = xlsFilePath + "!" + chartSheetName;
string type = "Excel.Chart.8";
InlineShape shape = doc.Content.InlineShapes.AddOLEObject(ClassType: type, FileName: chartSheet, LinkToFile: false, DisplayAsIcon: false);

我看过很多关于将 excel 导入 word 的帖子,但没有任何更新或有效的帖子。

例如:

This one是我想要做的,虽然我有一本包含许多图表的书,而不是一张带有图表的工作簿,所以我插入图表,如 file.xls!chartSheetname

This other使用复制和粘贴,只插入单元格,而不是图表。使用图表,复制方法将图表复制到工作簿中的另一个位置...

还有this one它向 word 添加一个 ole 对象,将对象转换为工作簿,创建工作表并将数据添加到该工作表。但是我已经有了图表...我只想插入一个现有图表...

最佳答案

问题是我使用的是 Office 2010,当您打开 .doc 时,它会以兼容模式打开,而且您似乎无法将 .xlsx 中的对象插入到兼容模式下的 .doc。因此,我将 .doc 转换为 .docx,将其打开为 .docx,然后将其插入:

Word.Application wordAPP = new Word.Application();
Word.Document docx = wordAPP.Documents.Open(docFile, false, true, false, Format:Word.WdOpenFormat.wdOpenFormatXMLDocument);
Chart chart = xlsx.Charts[chartSheetName];
chart.ChartArea.Select();
chart.ChartArea.Copy();
docx.Application.Selection.PasteAndFormat(Word.WdRecoveryType.wdFormatOriginalFormatting);

关于C# 将 Excel 图表作为对象(而不是图片)导出到 Word,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15135014/

26 4 0
文章推荐: c# - FullCalendar 事件添加和更新示例
文章推荐: swift - viewDidLoad 中的异步任务
文章推荐: swift - SceneKit 导入的 COLLADA 框不是 "Lit"
文章推荐: Javascript:设置