Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel C#事件新行_C#_Excel_Events - Fatal编程技术网

Excel C#事件新行

Excel C#事件新行,c#,excel,events,C#,Excel,Events,是否存在可以检测Excel工作表的活动行数何时增加1的事件?如果没有,还有其他方法吗?最接近的方法可能是。您可以获取目标参数的行.计数属性: using Excel = Microsoft.Office.Interop.Excel; private int rowsBefore = 0; void SomeMethod() { Excel.Application app = new Excel.Application(); Excel.Workbook wb = app.Wo

是否存在可以检测Excel工作表的活动行数何时增加1的事件?如果没有,还有其他方法吗?

最接近的方法可能是。您可以获取
目标
参数的
行.计数
属性:

using Excel = Microsoft.Office.Interop.Excel;

private int rowsBefore = 0;

void SomeMethod() {
    Excel.Application app = new Excel.Application();
    Excel.Workbook wb = app.Workbooks.Add();
    Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets[0];
    ws.SelectionChange += new Excel.DocEvents_SelectionChangeEventHandler(ws_SelectionChange);
}

void ws_SelectionChange(Excel.Range Target) {
    int rowsNow = Target.Rows.Count;
    if (rowsNow > rowsBefore) {
        // do stuff
    }
    rowsBefore = rowsNow;
}

如果您正在使用互操作,请停止使用它。使用NPOI。POI是一个开源项目,可以帮助您读取/写入xls、doc、ppt文件。它有广泛的应用