c#控制台应用程序读取excel表并根据内容删除行

本文关键字:删除行 控制台 应用程序 读取 excel | 更新日期: 2023-09-27 18:13:49

我一直在研究用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);

c#控制台应用程序读取excel表并根据内容删除行

查看EPPlus库-您可以使用它读取Excel工作表,然后相当容易地进行操作。或者使用Linq to Excel之类的工具。在SO上已经有很多关于这个的问题/信息,或者看看这个介绍视频。或者,如果工作表是表格格式的,您也可以将其作为数据库查询。

希望这有帮助!!

阅读更简单一点,您可以使用:https://code.google.com/p/linqtoexcel/,这使得它非常容易。

回写稍微复杂一些。如果你能使用excel的互操作。[1] http://msdn.microsoft.com/en-us/library/e4x1k99a.aspx

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

在你编辑完之后,为什么不做一个原始的副本,然后编辑并保存副本呢?因为你已经使用Excel.ApplicationClass(),你也可以使用xlApp.Save("filename")

下面是如何在excel中找到东西:Excel.Range.Find方法