【问题标题】:How to update data in excel File using C#?如何使用 C# 更新 excel 文件中的数据?
【发布时间】:2019-04-01 22:32:15
【问题描述】:

这个问题可能会重复,但到目前为止我无法解决我的问题。我是互操作的新手。我正在使用 excel 文件(作为数据库)。 这是excel文件中的数据展示

在我的数据中如果卡 ID 重复,那么我需要在同一行的 Counter 中增加“1”,同样我需要获取同一行的 IP 地址..

我正在使用 Interop Excel 方法在 Excel 文件中插入数据.. 请告诉我如何通过 C# (WPF) 对该 excel 文件执行更新操作

抱歉英语不好..

谢谢

【问题讨论】:

  • 使用 excel 作为数据库使其变得更加困难。尝试使用数据库,例如 mssql-express 或 ms-access。
  • 可以选择将其转换为 csv 吗?
  • 你是对的..但是使用Excel是客户的要求
  • 使用 Stefan 建议的真实数据存储并为您的客户生成 Excel 报告可能会更容易。
  • 有更好的选择,然后使用互操作来操作 excel 文件。对于您的用例,我建议将您的数据保存在 mssql 数据库中并创建一个 excel 报告。但如果你绝对必须在 C# 中做,至少使用 openXML api 而不是互操作。

标签: c# .net wpf excel-interop


【解决方案1】:

我推荐使用Closed XML

您直接写入文件,不需要 Excel。它需要是最新版本的 Excel 文件才能工作(开放 xml 标准)。

【讨论】:

  • 如果你安装了office,你也可以使用microsoft interop library。 Closed XML 有点冗长,但正如 Clayton 所说,您不需要安装 Excel 即可使用它。我更喜欢封闭的 XML。
【解决方案2】:

Epplus.dll 或 npoi.dll 也将读取/写入不带 excel 的 excel 文件。

【讨论】:

    【解决方案3】:

    将数据保存在 XML 或 JSON 文件中,然后当您想要将它们可视化时,您可以根据这些数据创建 excel 文件,这样您将拥有一个非常轻量级的文件,并且如果您愿意,您可以轻松阅读和更新。

    【讨论】:

      【解决方案4】:

      我没有专门通过 wpf 完成此操作,但是您可以通过 .net 访问 powershell cmdlet,并且 powershell 具有用于检索和写入 Excel 数据的命令。

      也就是说,我的经验是它非常乏味且与错误不一致。我会告诉您的客户,使用 Excel 文件作为数据库是不可能的,而且在实践中肯定容易失败。

      一方面,如果它被其他任何东西使用,你会遇到读/写限制。

      【讨论】:

        【解决方案5】:

        如果您不介意使用商业库,可以尝试使用Aspose.Cells。它具有丰富的单元格 API,并且能够在没有 Excel 互操作 API 的情况下工作。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-07-20
          • 1970-01-01
          相关资源
          最近更新 更多