Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.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
C# 使用c从excel文件中删除行#_C#_.net_Excel - Fatal编程技术网

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

C# 使用c从excel文件中删除行#,c#,.net,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-inf

我正在打开一个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(rCnt=1;rCnt一旦您参考了工作表

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

for(inti=1;i我知道这个问题已经得到了回答,但是你可以尝试下面的方法

 for (int i = dt.Rows.Count - 1; i >= 0; i--)
     {
         if (!dt.Rows[i]["column A"].Contains("SomeString "))
         {
             dt.Rows.RemoveAt(i);
         }
     }

您应该能够使用:“range.EntireRow.Delete(Excel.XLDirection.xlUp)”-只需使用工作表对象(xlWorksheet)设置范围即可。@PatrickPitre非常感谢!如何设置范围?它看起来像:range=xlWorksheet.get_range(“A1”、“B1”);range.EntireRow.Delete(Excel.XLDirection.xlUp);正在使用什么库?使用什么?