c# - 使用 excel.interop.object 库从 xls 中删除前 3 行

标签 c# excel office-interop

我正在使用 excel.interop.object 库 9.0 在 c# 中操作我的 xls 文件

假设我有一个有 5 张纸的 xls。所有工作表都有一些行。

我正在使用以下代码从我的 xls 中的每个工作表中删除前 2 行

Excel.Application excelApp = new Excel.Application();
        Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(mstrFilePath, 1, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, null, false);
        try
        {
            Excel.Sheets excelWorkSheet = excelWorkbook.Sheets;                
            foreach (Excel.Worksheet work in excelWorkSheet)
            {
                Excel.Range range = work.get_Range("A1", "A3");
                Excel.Range entireRow = range.EntireRow; // update
                for (int i = 1; i <= 3; i++)
                {
                    entireRow.Delete(Excel.XlDirection.xlUp);                       
                }                  
            }
            //excelWorkbook.Close(false, mstrFilePath, null);
        }
        catch (Exception ex)
        {

        }
        finally
        {
            excelApp.Quit();
        }

但是从工作表 3 中删除 2 行而不从任何其他工作表中删除任何行是错误的。

这里出了什么问题?

最佳答案

在您的代码中删除 for 循环(for (int i = 1; i <= 3; i++)) 它会起作用。

您已经选择了从 A1 到 A3 的范围(三行).........

Excel.Range range = work.get_Range("A1", "A3"); 

所以不需要像下面一样为相同的范围再次循环......

//for (int i = 1; i <= 3; i++)
//{
    entireRow.Delete(Microsoft.Office.Interop.Excel.XlDirection.xlUp);
//}

关于c# - 使用 excel.interop.object 库从 xls 中删除前 3 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15335799/

相关文章:

C# 应用程序设置 : Is there a easy way to put a collection into <appSetting>

c# - 如何在控制台应用程序中运行另一个 cmd.exe 调用?

c# - 如何支持为 EPiServer 属性选择多个枚举值?

excel - VBA Dir 在名为 ".."或 Documents.xlsx 的目录中提取 Ghost 文件

excel - 为什么 LOOKUP 不匹配数组中的第一个元素?

c# - 在未安装 MS Office 的计算机上使用 Office.Interop.Excel

c# - C#中如何给文件夹赋予权限?

java - Apache POI 2.5.1 jar 中 Row 类的类型是什么?

c# - Microsoft.Office.Interop.Word : where is the default version defined when multiple versions of Word are installed?

c# - Interop.Powerpoint : How to clear of undo (stack)