读取Excel工作表的特定列

时间:2015-11-04 23:28:39

标签: c# excel

我需要从Excel工作表中读取特定列(比如列A,P,Q,B)以及一些特定单元格(比如C3或D10)。我不需要它显示在DataGrid视图或任何东西(我见过的所有示例都使用DataGrid)。

我该怎么做并将它们写入新的CSV文件?

我没有示例代码,因为我不知道如何继续。

3 个答案:

答案 0 :(得分:0)

我觉得你使用ExcelReaderInterop库。

using Microsoft.Office.Interop.Excel;

详细示例可在此处找到:  http://www.dotnetperls.com/excel

几周前我不得不处理类似的问题,找不到更简单的方法来解决这个问题。该帖子暗示这种过度杀伤的方法可能是由于库中的大量遗留代码造成的。

答案 1 :(得分:0)

我们已成功使用Microsoft Access数据库引擎打开和读取Excel文件。 “2010 Access Redistributable”也可以免费安装在服务器上。你要求的是一个多步骤的过程:

  1. 使用Access OleDbConnection打开与文件的连接。在连接字符串中,“数据源”是文件名。
  2. 选择适当的工作表,它将返回一个DataTable对象。
  3. 从数据表中获取一行,或者遍历所有这些行的myDataTable.Rows。
  4. 访问相关列。
  5. 这篇文章展示了一些过程:

    希望这能让你指出正确的方向。

答案 2 :(得分:0)

我将我需要的列复制到另一个Excel工作表并将其另存为CSV。然后阅读此csv以执行任务。

这是最简单的选择,因为我认为运行程序的机器没有微软办公室。