使用C#从Excel文件中删除行 [英] deleting rows from an excel file using c#
本文介绍了使用C#从Excel文件中删除行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我打开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在这里看到:<一href="http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.range.delete.aspx">Range.Delete方法
您可能不得不投Cell的内容为一个字符串。
You may have to cast the Cell's content to a string.
这篇关于使用C#从Excel文件中删除行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文