【问题标题】:c# console app read excel sheet and remove rows based on contentsc#控制台应用程序读取excel表并根据内容删除行
【发布时间】:2013-05-16 14:22:44
【问题描述】:

我一直在阅读有关在 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# asp.net excel console-application


    【解决方案1】:

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

    希望这会有所帮助!

    【讨论】:

      【解决方案2】:

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

      回写有点复杂。如果您可以将互操作用于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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-06
        • 1970-01-01
        相关资源
        最近更新 更多