3 回答
TA贡献1880条经验 获得超4个赞
这适用于任何想知道从db结果集填充excel表的最佳方法。这并不是一个完整的列表,但它确实列出了一些选项。
在尝试使用旧的Pentium 4 3GHz盒子上的155列和4200条记录填充excel表时的一些性能数据,包括从最慢到最快的顺序,从不超过10秒的数据检索时间如下...
一次一个牢房 - 不到11分钟
通过转换为html +将html保存到磁盘来填充数据集+将html加载到excel并将工作表保存为xls / xlsx - 5分钟
一次一列--4分钟
使用SQL 2005中不推荐使用的sp_makewebtask过程创建HTML文件 - 9秒+然后在excel中加载html文件并另存为XLS / XLSX - 大约2分钟。
将.Net数据集转换为ADO RecordSet并使用WorkSheet.Range []。CopyFromRecordset函数填充excel - 45秒!
我最终使用选项5.希望这有帮助。
TA贡献1833条经验 获得超4个赞
尽可能使用excels内置功能,例如:不使用整列查找给定字符串,而是使用findCtrl-F在GUI中提供的命令:
Set Found = Cells.Find(What:=SearchString, LookIn:=xlValues, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not Found Is Nothing Then
Found.Activate
(...)
EndIf
如果要对某些列表进行排序,请使用excel sort命令,不要在VBA中手动执行:
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
- 3 回答
- 0 关注
- 440 浏览
添加回答
举报