我的VB作品|初学指南|编程技巧|源码下载|工具控件|VBA应用|Blog|【电信线路】|【网通线路】
   位置: VB知识库 >> 编程技巧 >> ADO >> 正文
最新调查
    你是怎样知道VB知识库的?
通过搜索引擎
即时通讯工具
朋友介绍
友情链接
其它

  

频道统计
如何快速导出数据库为EXCEL[VB知识库-Visual Basic Knowledge base]
如何快速导出数据库为EXCEL[VB知识库-Visual Basic Knowledge base]
 更新时间:2008-1-21 16:50:46  点击数:15
【字体: 字体颜色

导出数据库为EXCEL可以采用ADO的方法,速度比较快,也可以采用此方法,速度也很快!

在网上的导出为 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


至少要成为本站的注册会员才能下载! 注册点我!
  • 上一篇: 使用ADO GetChunk/AppendChunk 读写数据库字段
  • 下一篇: 不用 EOF 以加快记录循环
  • 发表评论   告诉好友   打印此文  收藏此页  关闭窗口  返回顶部
    热点文章
     
    推荐文章
     
    相关文章
    网友评论:(只显示最新5条。)
    河北宝宝网河北教育网址导航VB知识库点击申请点击申请点击申请点击申请点击申请点击申请点击申请
    点击申请点击申请点击申请点击申请点击申请点击申请
    Copyright© 2008 vbkbase.com All Rights Reserved QQ群:54150844
    冀ICP备08000517号