c#console app读取excel表并根据内容删除行

时间:2013-05-16 14:22:44

标签: c# asp.net excel console-application

我一直在阅读用C#读取CSV文件的方法,我听说它真的很复杂。我要做的是让一个控制台读取一个csv,如果A列中有一个包含123的单元格,它将删除列A中带有123的单元格的所有行。但是,因为它完成所有这些...我需要它保存到另一个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("123abc.csv", 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);

2 个答案:

答案 0 :(得分:1)

查看EPPlus library - 您可以使用它来阅读Excel表格,然后相当容易地进行操作。或者使用诸如Linq to Excel之类的东西。关于SO的内容有很多问题/信息,或者查看this introductory video。或者您可以将表格作为数据库查询,如果它是表格格式的。

希望这会有所帮助!!

答案 1 :(得分:0)

阅读更简单,你可以使用:https://code.google.com/p/linqtoexcel/,这使它变得容易。

回写有点复杂。如果你可以使用interop for excel。 [1] http://msdn.microsoft.com/en-us/library/e4x1k99a.aspx

[2] 打开XML SDK 2.0 http://msdn.microsoft.com/en-us/library/bb448854(office.14).aspx

编辑后,为什么不制作原件的副本,然后编辑并保存副本?由于您已经在使用Excel.ApplicationClass(),因此您还可以使用xlApp.Save(“filename”)

以下是在Excel中查找内容的方法: Excel.Range.Find method