将sql数据倒入excel表格
来源:互联网 发布:java jar无法加载主类 编辑:程序博客网 时间:2024/05/17 09:40
极速倒入sql记录到excel表格,19个子段5万条记录只需30秒http://expert.csdn.net/Expert/topic/1035/1035148.xml?temp=.9380762
在网上看到一段程序,没有使用vba编程将sql数据倒入excel表格,速度极快,贴出于大家共赏.
其主要思想是:将EXCEL作为一个数据库使用,它的名字就是数据库的名字,工作表就是一张数据库中的表。
建立一个工程,引用dao,添加command1,粘贴一下代码
'声明API函数
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'定义变量
Private Sub Command1_Click()
'如果EXCEL文件已经打开,需要先关闭它.
Dim lpClassName As String
Dim lpCaption As String
Dim Handle As Long
lpClassName = "XLMAIN"
lpCaption = "Microsoft Excel - MyExcel.xls"
Handle = FindWindow(lpClassName$, lpCaption$)
If Handle <> 0 Then
MsgBox "请先关闭EXCEL文件!", vbOKOnly + vbInformation, "不能对已经打开的文件进行写操作!"
Exit Sub
End If
'检查EXCEL文件是否存在,如果存在则删除
If Dir(App.Path & "/MyExcel.xls") <> "" Then Kill App.Path & "/MyExcel.xls"
'进行数据转换
Dim dbs As Database
'打开数据库
Set dbs = OpenDatabase("", False, False, "ODBC;DSN=idms;DATABASE=idms;UID=sa;PWD=;") '连接字符串,请根据自己的情况修改
'把数据导入EXCEL
dbs.Execute "SELECT " & "PersonId as 住户编号, Name as 姓名, Sex as 性别," & _
" Birthday as 出生日期, Nation as 民族,NativePlace as 籍贯," & _
" Politics as 政治面貌, IdCard as 身份证号码,Study as 学历," & _
" WorkPlace as 工作单位, WorkPhone as 单位电话, HomePhone as 家庭电话," & _
" MobilePhone as 手机或BP机, CarCard as 车牌号码, StartDate as 入住日期," & _
" Patch as 片区, DepartmentId as 公寓号, UnitNo as 单元号," & _
" RoomId as 房间号, ContractId as 购房合同号 " & " INTO [Excel 8.0;DATABASE=" & App.Path & "/MyExcel.xls].[WorkSheet1] FROM " & "tbl_Tenement"
'关闭数据库对象
dbs.Close
'释放数据库对象
Set dbs = Nothing
'调用EXCEL打开产生的EXCEL表格
Shell "d:/Program Files/Microsoft Office/Office10/EXCEL.EXE " & App.Path & "/MyExcel.xls", vbMaximizedFocus
End Sub
19个字段,5万条记录,只需30-60秒,而采用直接用vba写入cell的方法两万条记录就需 83分钟,提速何止百倍,但这个方法有些局限,小弟水平有限没能解决.希望大家讨论讨论,予以完善.
1、这段代码可能会随即出现“系统不支持选择的排序方式”错误,在增加resume next后解决,请问这是什么问题引发的,能不能排除掉。
2、问一下一张excel表格可以存储多少条记录,我在测试十万条记录的存入时出现“电子表格已满的错误”
欢迎大家讨论,让所有为导入数据到excel的速度困扰的朋友看到这段代码
- 将sql数据倒入excel表格
- 将sql server中的数据倒入Excel
- 将sql server中的数据倒入Excel
- 将sql server中的数据倒入Excel(c#)
- 将sql server中的数据倒入Excel(c#)
- 将sql server中的数据倒入Excel(c#)
- 将sql server中的数据倒入Excel(c#)
- 将sqlreader中的数据倒入excel中
- vs2005中Excel 数据倒入SQL数据库
- Excel数据倒入数据库
- EXCEL数据倒入数据库
- excel表格倒入mysql数据库
- 将ORACLE数据库的数据倒入到EXCEL中的方法
- 将Oracle的数据倒入EXCEL中的方法
- 将Oracle的数据倒入EXCEL中的方法
- 将Oracle的数据倒入EXCEL中的方法
- 怎么样用PHPMyAdmin 将*.Sql数据倒入MYSQL[经典推荐]
- 怎么样用PHPMyAdmin 将*.Sql数据倒入MYSQL[经典推荐]
- 觉得自己不年轻了
- 北京建委稳定房价细则出台 禁止预售房转让
- vb怎么把图片加入到数据库里面
- 使用API调用Winodws各种通用对话框(Common Diaglog)的方法
- Hibernate的优点
- 将sql数据倒入excel表格
- 从VB将数据导出到EXCEL
- 菜鸟眼中的黑客。
- vb查找指定文件夹下面的所有文件和其子目录下的文件
- 吃饭感想
- 深圳的美女和她们的眼神
- 庞升东的详细介绍 6月3日更新版
- 今天汉化了一个便签软件A note,遵守GNU的自由软件
- 寻找生命小意义——我的价值观和理想