C#中的“我们无法对合并的单元格执行此操作”错误

所以

我在此链接中找到一个excel文件,因此我要执行的操作是使用其格式和公式复制第22行(​​用红色突出显示),然后将其插入第23行,然后使用其格式将第25行(用红色突出显示)复制并然后将公式插入到第26行。调试时,它适用于第22行,但在此行中显示“我们无法对合并的单元格执行此操作”错误sourceRange2.Copy(destRange2);

这是我的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using Excel = Microsoft.Office.Interop.Excel;
using Microsoft.Office.Interop.Excel;
using System.IO;
using System.Reflection;
using System.Text;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private object missing = Missing.Value;
        private void button1_Click(object sender, EventArgs e)
        {
            
            Excel.Application myApp = new Excel.Application();
            Excel.Workbook my_workbook = myApp.Workbooks.Open(@"C:\Test\myexcel.xlsx");
            Excel.Worksheet my_ws = my_workbook.Worksheets[1];

            
            Range range = (Excel.Range)my_ws.Rows[22, this.missing];
            range.Insert(Excel.XlDirection.xlDown);
            //Source Range
            Range sourceRange = my_ws.Range["A22","H22"];  
            //Destination range
            Range destRange = my_ws.Range["A23", "H23"];
            sourceRange.Copy(destRange);

            Range range2 = (Excel.Range) my_ws.Rows[25, this.missing];
            range2.Insert(Excel.XlDirection.xlDown);
            //Source Range
            Range sourceRange2 = my_ws.Range["A25", "H25"];
            //Destination range
            Range destRange2 = my_ws.Range["A26", "H26"];
            sourceRange2.Copy(destRange2);

            my_workbook.Save();
            
        }
       
    }
}
Kieran501

第一次添加行后,第二条红线不再位于第25行,而是位于第26行。第25行现在是垂直合并的单元格的一部分,因此合并了单元格错误。因此,代码的第二部分应阅读

    Range range2 = (Excel.Range) my_ws.Rows[26, this.missing];
    range2.Insert(Excel.XlDirection.xlDown);
    //Source Range
    Range sourceRange2 = my_ws.Range["A26", "H26"];
    //Destination range
    Range destRange2 = my_ws.Range["A27", "H27"];
    sourceRange2.Copy(destRange2);

我也建议您关闭excel文件(如果您未在其他地方关闭),否则最终会打开很多excel实例

my_workbook.Close();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

出现错误 1004:我们可以对合并的单元格执行此操作.. 为什么?

如何将代码应用于合并的单元格,从而产生Runtime-Error:“我们无法对合并的单元格执行此操作。”

C# Excel 互操作快速合并单元格

Excel:我们可以防止对单元格进行粘贴操作

如何在我们自己的声明方法中获取单元格选择行?

我们如何设置合并的 css 网格单元格(网格列)内图像的最大高度

如果单元格1或单元格2为空白,则执行此操作,否则执行此操作吗?

仅当我们输入单元格时才执行公式-无“ 0”值-Excel 2010

对 Pandas DataFrame 中的元素进行简单的剪切粘贴操作(就像我们使用鼠标或 CTRL+C 和 CTRL+V 对 Excel 的单元格所做的那样)

我们如何在开始和结束关键字中获得单元格结果的组合?

我们可以获取在android / kotlin中动态创建的gridlayout的单元格文本值吗?

我们可以检查哪种自定义类型应用于 Excel 工作表中的单元格

Google 表格应用程序脚本错误?setValues() 在合并单元格中无法正常工作

我如何使用OpenXML C#水平合并Microsoft Word表单元格

在javascript中动态处理数组的索引,就像我们对对象执行此操作一样

无法在Excel 2010中插入单元格-“不允许操作”错误消息

值相同的C#合并单元格

如果第一个单元格为空,请执行此操作,否则执行此操作

如何设置TableView的颜色,我们在下拉单元格后看到的

我们如何在 uitableview swift 中使用不可见的单元格?

我们可以在表格小部件的单元格之间移动小部件吗

我们如何返回位于 tableview 单元格内的集合视图的值?

Python:如何在我们的游戏领域中检索单元格的内容?

如何使用MS Interop Excel在C#中检测合并的单元格

使用 C# 合并 CSV 中具有相同单元格的 7 行

当我点击 2 个 TableViewControllers 之间的“didSelectRowAt indexPath”中的单元格时,我需要执行后退按钮操作

如何在浏览器中修复“我们无法到达此页面”错误或“ err_connection_timed_out”?

无法更改合并的单元格

我们如何在服务器上捕获 c# 中的错误