如何快速导出数据库为EXCEL文档(另一种方法)

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 limitworld 的 blog

在网上的导出为 excel文档的方法大概是这样的

dim i as integer, j as integer
dim myexcel as new excel.application
dim mybook as new excel.workbook
dim mysheet as new excel.worksheet
set mybook = myexcel.workbooks.add  '添加一个新的book
set mysheet = mybook.worksheets.add  '添加一个新的sheet
'    for i = 1 to myres.recordcount
'        for j = 1 to myres.fields.count
'            mysheet.cells(i, j) = myres.fields.item(j - 1).value
'            if (i * j) mod 500 = 0 then
'                doevents
'            end if
'        next j
'    myres.movenext
  
'    next i
    myexcel.visible = true
    mybook.saveas (m_excelname)  '保存文件

 

这中方法没什么错误,但是如果数据量很大的话,麻烦就来了,出现程序长时间不响应

关键是循环,下给出我的代码

假设定义的记录名为myres

dim myexcel as new excel.application
dim mybook as new excel.workbook
dim mysheet as new excel.worksheet
set mybook = myexcel.workbooks.add  '添加一个新的book
set mysheet = mybook.worksheets.add  '添加一个新的sheet
 myexcel.visible=true

mysheet.cells.copyfromrecordset myres

mybook.saveas (m_excelname)  '保存文件

利用这个代码可以大大的缩短导出时间,8000多个纪录用第一种方法大概需要2分多

而用第二种方法只大概要4秒,可以亲自试验一下,上述结果测试平台为win98+excel2000

 

本文关键:导出
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top