【问题标题】:How do I get the values of a deleted range in Excel VSTO C#如何在 Excel VSTO C# 中获取已删除范围的值
【发布时间】:2021-01-27 02:38:24
【问题描述】:

Sheet Change Event

Target Range 是指被删除行的地址所引用的范围值。我需要刚刚删除的范围值。我该怎么做?

【问题讨论】:

    标签: c# excel vsto


    【解决方案1】:

    在_Application_SheetActivate中

    dataArray = ((Excel.Worksheet)Sh).UsedRange.Value2;
    

    在 Application_SheetChange(object Sh, Excel.Range Target)中

    var deletedRow = _dataArray.ToJaggedArray();
    var values = deletedRow[Target.Row - 1];
    
            public static object[][] ToJaggedArray(this object[,] array)
            {
                object[][] jagged = new object[array.GetLength(0)][];
    
                for (int i = 0; i < array.GetLength(0); i++)
                {
                    jagged[i] = new object[array.GetLength(1)];
                    for (int j = 1; j <= array.GetLength(1); j++)
                    {
                        jagged[i][j - 1] = array[i + 1, j];
                    }
                }
    
                return jagged;
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多