【问题标题】:Writing Dataset to Excel increase performance将数据集写入 Excel 可提高性能
【发布时间】:2011-08-26 04:17:37
【问题描述】:

我正在通过从数据集读取并写入 excel 来将数据集数据写入 excel 作为 DirectCast(ws.Cells(row, column), Range).Value2 = item

它正在写作,但我几乎没有像每个单元格的边框这样的格式,我申请为 DirectCast(ws.Cells(row, col), Range).Borders(XlBordersIndex.xlEdgeLeft).Weight = 2

这对 100 条记录的工作速度更快,如果我增加记录,则需要很多时间。

问题:实时数据中可能有 20 万条记录。那么如何增加
那个时候的性能写得很快。

谢谢 拉梅什.T.

【问题讨论】:

    标签: .net excel


    【解决方案1】:

    首先,您可能希望使用 ADODB 记录集填充数据。这是我找到的在 Excel 表上填写数据的最快方法。

    示例: ws.Range("A2").CopyFromRecordset(rs)

    将您需要的所有列都放入记录集中并一次性全部放入。

    如果您从单元格 A2 开始,那么您可以在之后填写您的标题。

    在将数据放入后,您可以在整个单元格范围内一次完成所有格式设置:

    示例: ws.UsedRange.Cells.Borders(xlBordersIndex.xlEdgeLeft).Weight = 2

    【讨论】:

      【解决方案2】:

      写完所有行后尝试应用边框效果。

      我的意思是将边框效果应用于一系列单元格,而不是逐个单元格。

      【讨论】:

      • ws.UsedRange.Borders.Weight = 2 将在您加载完数据后将顶部、底部、左侧和右侧边框应用于工作表已用范围内的所有单元格。
      • 如何将边框应用于范围,(A7,P45)我想在 vb.net 中应用
      【解决方案3】:

      如果您是 .NET 开发人员,另一种方法可能是利用 office 使用的开放式 xml 扩展(假设您使用的 office 版本支持 -2007 或更高版本,我认为)

      这是该方法的简单视图。

      基本上,文档文件是一个 zip 文件,您可以打开和操作,zip 中的许多文件是 XML - 事实上大多数时候您甚至不需要安装 office 来生成文档!您基本上构建了xml文件并将其放入zip文件中。

      Beth Massi 有几篇关于此的文章 (http://blogs.msdn.com/b/bethmassi ,甚至在 .NET Rocks (http://www.dotnetrocks.com) 上进行了一些屏幕投射,展示了该技术.

      您可能想检查一下。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-12-07
        • 2014-01-13
        • 1970-01-01
        • 2021-06-09
        • 1970-01-01
        • 2017-12-09
        • 2013-12-03
        相关资源
        最近更新 更多