使用C# Interop Excel在Excel中插入空行与合并单元格
使用Interop Excel插入空行并合并单元格
必要的引用与声明
首先确保项目引用了Microsoft.Office.Interop.Excel程序集,然后在代码顶部添加命名空间引用:
using Excel = Microsoft.Office.Interop.Excel;
完整代码示例
以下代码实现从A7行开始插入指定数量的空行,随后合并B7至E7单元格:
// 创建Excel应用实例 Excel.Application excelApp = new Excel.Application(); excelApp.Visible = true; // 调试时设为true可实时查看操作 // 打开现有工作簿(如需新建则用excelApp.Workbooks.Add()) Excel.Workbook workbook = excelApp.Workbooks.Open(@"C:\YourFilePath\YourWorkbook.xlsx"); Excel.Worksheet worksheet = workbook.Worksheets["Sheet1"]; // 替换为目标工作表名称 // 定义要插入的空行数量(可根据业务需求动态赋值) int rowsToInsert = 5; // 从A7行开始向下插入指定数量的空行 Excel.Range insertRange = worksheet.Range[$"A7:A{7 + rowsToInsert - 1}"]; insertRange.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftDown); // 合并B7至E7单元格 Excel.Range mergeRange = worksheet.Range["B7:E7"]; mergeRange.Merge(); // 保存工作簿(按需选择是否执行) workbook.Save(); // 释放COM资源(避免Excel进程后台残留) System.Runtime.InteropServices.Marshal.ReleaseComObject(mergeRange); System.Runtime.InteropServices.Marshal.ReleaseComObject(insertRange); System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet); System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook); System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp);
关键步骤说明
- 插入空行:选中从A7起始的连续
rowsToInsert行单元格区域,调用EntireRow.Insert方法实现向下插入,参数xlShiftDown指定原有行向下偏移。 - 合并单元格:选中B7到E7的目标区域后调用
Merge()即可完成合并,由于所有数据为字符串类型,无需额外处理公式或数字兼容问题。 - 资源释放:Interop生成的COM对象必须手动释放,否则会导致Excel进程在后台持续占用系统资源。
内容的提问来源于stack exchange,提问作者user1234
相关产品推荐
相关产品推荐

