龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VB开发 >

如何快速导出数据库为EXCEL

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
在网上的导出为EXCEL文档的方法大概是这样的 DimiAsInteger,jAsInteger DimmyexcelAsNewExcel.Application DimmybookAsNewExcel.Workbook DimmysheetAsNewExcel.Worksheet Setmybook=myexcel.Workbooks.Add添加一个新的BOOK Setmyshee
在网上的导出为EXCEL文档的方法大概是这样的 
  
  DimiAsInteger,jAsInteger
  DimmyexcelAsNewExcel.Application
  DimmybookAsNewExcel.Workbook
  DimmysheetAsNewExcel.Worksheet
  Setmybook=myexcel.Workbooks.Add'添加一个新的BOOK
  Setmysheet=mybook.Worksheets.Add'添加一个新的SHEET
  'Fori=1Tomyres.RecordCount
  'Forj=1Tomyres.Fields.Count
  'mysheet.Cells(i,j)=myres.Fields.Item(j-1).Value
  'If(i*j)Mod500=0Then
  'DoEvents
  'EndIf
  'Nextj
  'myres.MoveNext
  'Nexti
  myexcel.Visible=True
  mybook.SaveAs(m_ExcelName)'保存文件
  
  这中方法没什么错误,但是如果数据量很大的话,麻烦就来了,出现程序长时间不响应 
  
  关键是循环,下给出我的代码  
  
  假设定义的记录名为myres  
  
  DimmyexcelAsNewExcel.Application
  DimmybookAsNewExcel.Workbook
  DimmysheetAsNewExcel.Worksheet
  Setmybook=myexcel.Workbooks.Add'添加一个新的BOOK
  Setmysheet=mybook.Worksheets.Add'添加一个新的SHEET
  myexcel.visible=true
  mysheet.Cells.CopyFromRecordsetmyres
  mybook.SaveAs(m_ExcelName)'保存文件 
  
  利用这个代码可以大大的缩短导出时间,8000多个纪录用第一种方法大概需要2分多  
  
  而用第二种方法只大概要4秒,可以亲自试验一下,上述结果测试平台为WIN98 EXCEL2000->

精彩图集

赞助商链接