vato 在 Word 文档中使用 C# 嵌入 Excel 图表

如果你想在 Word 文档中使用 C# 嵌入 Excel 图表,你可以通过以下步骤实现:

  1. 创建并配置 Excel 图表:
cs 复制代码
   using Excel = Microsoft.Office.Interop.Excel;
   
   // 创建 Excel 应用程序
   Excel.Application excelApp = new Excel.Application();
   excelApp.Visible = true; // 用于调试时显示 Excel 应用程序
   
   // 添加新工作簿
   Excel.Workbook workbook = excelApp.Workbooks.Add();
   Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Worksheets[1];
   
   // 添加一些样本数据
   worksheet.Cells[1, 1].Value = "类别";
   worksheet.Cells[1, 2].Value = "数值 1";
   worksheet.Cells[1, 3].Value = "数值 2";
   
   worksheet.Cells[2, 1].Value = "A";
   worksheet.Cells[2, 2].Value = 10;
   worksheet.Cells[2, 3].Value = 20;
   
   worksheet.Cells[3, 1].Value = "B";
   worksheet.Cells[3, 2].Value = 15;
   worksheet.Cells[3, 3].Value = 25;
   
   // 添加图表
   Excel.ChartObjects chartObjects = (Excel.ChartObjects)worksheet.ChartObjects();
   Excel.ChartObject chartObject = chartObjects.Add(100, 100, 300, 200);
   Excel.Chart chart = chartObject.Chart;
   
   // 设置图表数据范围
   Excel.Range chartDataRange = worksheet.Range["A1:C3"];
   chart.SetSourceData(chartDataRange);
  1. 将 Excel 图表嵌入到 Word 文档:
cs 复制代码
 using Word = Microsoft.Office.Interop.Word;
   using System.Runtime.InteropServices;
   
   // 创建 Word 应用程序
   Word.Application wordApp = new Word.Application();
   wordApp.Visible = true; // 用于调试时显示 Word 应用程序
   
   // 添加新文档
   Word.Document doc = wordApp.Documents.Add();
   Word.Range rng = doc.Range();
   
   // 复制 Excel 图表
   chart.ChartArea.Copy();
   
   // 将图表粘贴到 Word 文档
   rng.PasteExcelTable(false, false, false);
   
   // 清理 Excel
   excelApp.Quit();
   
   // 清理 Word
   Marshal.ReleaseComObject(rng);
   Marshal.ReleaseComObject(doc);
   Marshal.ReleaseComObject(wordApp);

请确保你的项目中引用了 Microsoft Word 和 Microsoft Excel 主互操作程序集(PIAs)。此外,使用 `Marshal.ReleaseComObject` 适当地处理 COM 对象的清理,以避免内存泄漏。

这个例子创建了一个 Excel 图表,然后将其复制并粘贴到 Word 文档中。在 Word 中,对图表的进一步操作可能会受到限制,因为 Word 不像 Excel 那样直接支持对图表数据的详细操作。

相关推荐
海兰15 小时前
【web应用】Excel 项目数据自动化分析系统(AI 驱动分析)详细设计与部署指南(附源代码)
前端·人工智能·自动化·excel
2501_930707781 天前
使用 C# 代码读取或删除 Excel 文档属性
excel
hikktn1 天前
Excel 日期格式统一治理:从“显示不全“到“自动兼容“的完整方案
windows·python·excel
霸道流氓气质1 天前
Spring Boot 大数据量 Excel 导入导出功能实现指南
spring boot·后端·excel
霸道流氓气质1 天前
Java 单元测试生成大量 Excel 测试数据实战指南
java·单元测试·excel
IT WorryFree1 天前
FortiGate常用资产 OID 清单,配套 Excel 台账模板字段
网络·人工智能·excel
MyFreeIT1 天前
Excel Enable Content
excel
E_ICEBLUE1 天前
将 Excel 表格插入 Word 文档的三种实用方案(Python 自动化)
python·word·excel
俊哥工具1 天前
027免费开源硬盘检测工具,一键查看健康度,杜绝数据丢失
pdf·电脑·word·excel·音视频
不恋水的雨2 天前
easyexcel快速填充大数据量不覆盖后面的行解决方式
java·excel·poi