【问题标题】:C# Excel Reading optimizationC# Excel 阅读优化
【发布时间】:2017-06-11 08:57:03
【问题描述】:

我的应用将构建一个商品列表并从 Excel 文件中获取必要的数据(例如:价格、客户商品代码)。

  • 此参考 excel 文件有 650 行和 7 列。
  • 应用将在一次运行时读取 10-12 行的项目。

逐行阅读会更明智吗? 或者我应该首先将 excel 文件中的所有行项目读入列表/数组并从那里进行搜索? 谢谢

【问题讨论】:

    标签: c# excel optimization


    【解决方案1】:

    最好从设计最能代表数据的类开始,无论数据来自何处。假装没有Excel、SQL等。

    如果您的数据总是相对较小(650 行),那么我只需将整个内容读入您创建的任何数据结构(您自己的类)。然后您可以查询那些您想要的任何数据,例如

    var itemsIWant = allMyData.Where(item => item.Value == "something");
    

    原因是它使您能够将查询(选择单个项目)与存储(数据来自任何文件或源)分开。如果您将 Excel 替换为其他内容,则无需重写其他代码。如果您逐行阅读,则根据标准选择项目的代码将与您的 Excel 阅读代码混合在一起。

    将事物分开使您能够更轻松地单独测试代码的各个部分。您可以确认一个组件正确读取 Excel 中的内容并将其转换为您的数据。您可以确认另一个组件正确地执行查询以返回您想要的数据(它并不关心数据来自哪里。)


    关于优化 - 您将从磁盘打开文件,无论您必须读取每一行的内容。这就是所有开销的地方。无论您是一次阅读整篇文章,然后一次查询或检查每一行都不是一个重要因素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-02
      • 1970-01-01
      • 1970-01-01
      • 2012-04-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多