将数据集写入Excel可提高性能

时间:2011-08-25 19:46:46

标签: .net excel

我正在通过从数据集中读取并写入excel来将数据集数据写入excel  作为DirectCast(ws.Cells(行,列),范围).Value2 = item

这是写作,但我的每个单元格的边框格式很少,我正在申请  DirectCast(ws.Cells(row,col),Range).Borders(XlBordersIndex.xlEdgeLeft).Weight = 2

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

问题:在实时数据中可能有2万个记录。然后如何增加
 这段时间表现得很快。

谢谢 Ramesh.T。

3 个答案:

答案 0 :(得分:1)

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

实施例: ws.Range("A2").CopyFromRecordset(rs)

将您需要的所有列添加到记录集中,并将其全部放入。

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

在将数据输入后,您可以在整个单元格范围内一次性完成格式化:

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

答案 1 :(得分:0)

完成所有行的写入后,尝试应用边框效果。

我的意思是对一系列细胞应用边界效应,而不是逐个细胞。

答案 2 :(得分:0)

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

以下是该方法的简单视图。

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

Beth Massi有几篇关于此的文章(http://blogs.msdn.com/b/bethmassi,甚至在.NET Rocks(http://www.dotnetrocks.com)上做了几个屏幕演示,展示了这项技术

您可能需要查看它。