c# - 使用c#从excel文件中删除行

标签 c# .net excel

我正在打开这样一个 excel 文件:

Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
Excel.Range range;

string str;
int rCnt = 0;
int cCnt = 0;

xlApp = new Excel.ApplicationClass();
xlWorkBook = xlApp.Workbooks.Open("csharp.net-informations.xls", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

我想知道:
如何遍历所有行并删除字符串 SomeString 未出现在 A 列 中的每一行?

我知道如何遍历每个值:

for (rCnt = 1; rCnt <= range.Rows.Count; rCnt++)
{
    for (cCnt = 1; cCnt <= range.Columns.Count; cCnt++)
    {
        str = (string)(range.Cells[rCnt, cCnt] as Excel.Range).Value2;
        MessageBox.Show(str);
    }
}

但我不知道如何删除整行

最佳答案

一旦你有了对工作表的引用,就说

for(int i = 1; i <=100; i++)
{
  if(!worksheet.Cells[i,1].Contains("SomeString"))
  {
     ((Range)worksheet.Rows[i]).Delete(shiftDirection)
  }
}

shiftDirection 看这里:Range.Delete method

您可能必须将 Cell 的内容转换为字符串。

关于c# - 使用c#从excel文件中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9951188/

相关文章:

c# - 使用任务获取目录图标

python - 如何在 Python 中跳过前几行 Excel 工作表

c# - 尝试包装 2 个 Polly 策略时出现转换错误

c# - 如何在 C# 中使用 NUnit 编写 stub 方法

c# - 无法使用 JRE 7u51 在 Internet Explorer 11 中运行 Java 小程序

c# - 在字典中创建匿名类作为自定义键

C#:从泛型类型名称中获取 XML 元素名称的最佳方式

c# - 如何使用 CodeDOM 定位特定语言版本?

excel - 如何使用元素周期表对化合物求和(化学课)

尝试访问工作表范围时出现 VBA 运行时错误 1004