首页 > 解决方案 > 如何在 Excel VSTO C# 中获取已删除范围的值

问题描述

工作表更改事件

目标范围是指被删除行的地址所引用的范围值。我需要刚刚删除的范围值。我怎样才能做到这一点?

标签: c#excelvsto

解决方案


在 _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;
        }

推荐阅读