使用C#从Excel文件中删除行文件、Excel

由网友(安于现状)分享简介:我打开Excel文件是这样的:I am opening an excel file like this:Excel.Application xlApp;Excel.Workbook xlWorkBook;Excel.Worksheet xlWorkSheet;Excel.Range range;string...

我打开Excel文件是这样的:

I am opening an excel file like this:

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

I would like to know: How do I loop through all the rows and delete every row in which the string SomeString does not appear in column A?

我知道如何通过每一个价值循环:

I know how to loop through every value:

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);
    }
}

但我不知道如何删除整个行

But I do not know how to delete the entire row

推荐答案

一旦你有了一个参照表说

Once you have a reference to the worksheet say

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

在这里shiftDirection在这里看到:Range.Delete方法

您可能不得不投Cell的内容为一个字符串。

You may have to cast the Cell's content to a string.

阅读全文

相关推荐

最新文章