【问题标题】:Reading particular columns of Excel sheet读取 Excel 工作表的特定列
【发布时间】:2015-11-04 23:28:38
【问题描述】:

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

我该如何做到这一点并将它们写入新的 CSV 文件?

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

【问题讨论】:

标签: c# excel


【解决方案1】:

我建议您使用 ExcelReaderInterop 库。

using Microsoft.Office.Interop.Excel;

详细的例子可以在这里找到: http://www.dotnetperls.com/excel

几周前我不得不处理一个类似的问题,但找不到更简单的方法来处理这个问题。该帖子表明这种过度杀伤的方法可能是由于库中存在大量遗留代码。

【讨论】:

  • 使用 Office Interop 真的很痛苦。在大多数情况下,EPPlus 是一个更好的解决方案。
【解决方案2】:

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

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

这篇文章展示了一些过程:

希望这能让你找到正确的方向。

【讨论】:

    【解决方案3】:

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

    这是最简单的选择,因为我假设运行该程序的机器没有 Microsoft Office。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-26
      • 2021-02-09
      • 2010-11-14
      • 2021-12-12
      • 2020-12-26
      • 2022-12-04
      • 2019-05-15
      • 2021-12-24
      相关资源
      最近更新 更多