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 那样直接支持对图表数据的详细操作。

相关推荐
XYX的Blog1 天前
Pandas基础07(Csv/Excel/Mysql数据的存储与读取)
mysql·excel·pandas
东京老树根1 天前
Excel 技巧23 - 在Excel中用切片器做出查询效果(★★★)
笔记·学习·excel
东京老树根3 天前
Excel 技巧22 - Ctrl+D 向下复制(★★),复制同间距图形
笔记·学习·excel
如意机反光镜裸3 天前
如何批量导入竖版Excel表到数据库
数据库·excel
NiNg_1_2343 天前
FastExcel使用详解
开发语言·excel·fastexcel
小奥超人4 天前
EXCEL教程:如何打开Excel隐藏部分?
windows·经验分享·microsoft·excel·办公技巧
Eiceblue5 天前
C# 添加、替换、提取、或删除Excel中的图片
开发语言·c#·excel·visual studio
ynrainy5 天前
Excel分区间统计分析(等步长、不等步长、多维度)
excel
扎量丙不要犟6 天前
excel如何查找一个表的数据在另外一个表是否存在
rust·excel
xun-ming6 天前
Excel中LOOKUP函数的使用
excel·xlookup·vlookup·lookup·hlookup