注册 登录
编程论坛 VB6论坛

[原创]Access数据写入Excel源码

longgen 发布于 2005-09-12 10:44, 77532 次点击

介绍 Access数据写入Xls文件(附源码) :
1)建立Excel文件
2)用ADO读取Access文件中的数据写入Excel文件

环境 : Windows_XP_sp2 , Office2003_sp1, VB6_sp5

'--------------------------------------------------------------------------------
'系统           : VB练习
'子系统         : Access内容写入Xls
'程序           : Access数据写入Xls文件
'创建时间       : 2005/09/11  Ver 0.0.1 CLG
'模块           : Form1
'描述           : 1)建立Excel文件
'                 2)使用ADO读取Access文件中的数据写入Excel文件
'补充说明(环境) : Windows_XP_sp2
'                 Office2003_sp1,
'                 VB6_sp5
'引用           : Microsoft ActiveX Data Objects 2.5 Library
'                 Microsoft Scripting Runtime
'                 Microsoft Excel 11.0 Object Library(Office2003自带)
'                 更具体的环境部分还可直接用记事本查看程序目录中的<工程1.vbp>文件
'--------------------------------------------------------------------------------
Option Explicit
'--------------------------------------------------------------------------------
' 过程          : Form_Load
' 描述          : 界面初始化
' 参数          : --
'--------------------------------------------------------------------------------
..........................................
..........................................
'--------------------------------------------------------------------------------
' 过程          : Form_Unload
' 描述          : 释放对象
' 参数          : --
'--------------------------------------------------------------------------------
Private Sub Form_Unload(Cancel As Integer)
    Set Form1 = Nothing '释放空间
End Sub

回复后可以下载源码

[hide]
只有本站会员才能查看附件,请 登录

[/hide]

[此贴子已经被作者于2005-9-21 19:24:26编辑过]


361 回复
#2
08980898xmb2005-09-12 10:57
看看!
#3
longgen2005-09-22 20:38
对前面的程序稍微加了一些代码的花样.
只有本站会员才能查看附件,请 登录

[/hide]

[此贴子已经被作者于2005-10-19 11:00:56编辑过]


#4
doublexchen2005-09-22 21:25
顶了看下
#5
pennino2005-09-23 12:57

一、在Access中使用代码打开Excel:

Public MyXL As Object '打开Excel Sub GetExcel()

Const ERR_APP_NOTRUNNING As Long = 429 On Error Resume Next Set MyXL = GetObject(, "Excel.Application") If Err = ERR_APP_NOTRUNNING Then Set MyXL = New Excel.Application End If MyXL.Application.Visible = True End Sub 使用这段代码,可以打开一个Excel实例或者引用已经打开的Excel实例

二、新建一个工作簿

Sub CreateNewBook

MyXL.Application.Workbooks.Add End Sub

三、使用代码将窗体上的数据复制到Windows粘贴板

Sub CopyToClip

Forms(FormName).Controls(SubFormName).SetFocus DoCmd.RunCommand acCmdSelectAllRecords DoCmd.RunCommand acCmdCopy End Sub

四、使用代码将Windows粘贴板的内容粘贴到Excel

Sub CopyToExcel()

GetExcel MyXL.Application.Workbooks.Add MyXL.Application.ActiveSheet.Paste End Sub

五、对导出到Excel中的数据进行格式化,比如,加上报表标题、设置表格线等。

Sub FormatTAB()

SetLine '设置表格线的子程序,在Access中实现对Excel文档格式化

'插入两行作为标题行

MyXL.Application.ActiveSheet.Rows("1:1").Select For j = 1 To 2 MyXL.Application.Selection.Insert Shift:=xlDown Next j MyXL.Application.ActiveSheet.Range("A1") = “标题文字” '设置表标题字体 MyXL.Worksheets(1).Range("A1").Select With MyXL.Application.Selection.Font .Name = "宋体" .Size = 16 End With End Sub

'设置表格线 Sub SetLine() On Error Resume Next MyXL.Application.Selection.Borders(xlDiagonalDown).LineStyle = xlNone MyXL.Application.Selection.Borders(xlDiagonalUp).LineStyle = xlNone MyXL.Application.Selection.WrapText = False With MyXL.Application.Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With MyXL.Application.Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With MyXL.Application.Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With MyXL.Application.Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With MyXL.Application.Selection.Borders(xlInsideVertical) .LineStyle = xlContinuous .Weight = xlHairline .ColorIndex = xlAutomatic End With With MyXL.Application.Selection.Borders(xlInsideHorizontal) .LineStyle = xlContinuous .Weight = xlHairline .ColorIndex = xlAutomatic End With End Sub

六、关闭打开的工作簿

'关闭Excel Sub CloseExcel() On Error Resume Next MyXL.Application.DisplayAlerts = False MyXL.Application.Save MyXL.Application.Quit Set MyXL = Nothing '释放对该应用程序 End Sub 经过上面的讲述,一个完整的导出操作就完成了。

#6
longgen2005-09-23 19:12
                                                        
                                                        
                                        |.NET,         
                              8错!||.NET,8错!||.NE        
                      T,8错!||.NET,8错                    
              !||.NET,8错      !||.NE                    
      T,8错!||.NET,8错!||.      NET,8错                    
!||.NET,8错!||.NE            T,8错!|    |.NE              
          T,8错!||.      NET,8错!||.NET,8错!||.NE         
            T,8错!|      |.NET,8错      !||.NET,         
            8错!||.      NET,8错          !||.NE         
            T,8错!|      |.NET,8错!||.NE  T,8错!|         
            |.NET,      8错!||.  NET,8错  !||.NE         
            T,8错!|      |.NET,  8错!||.  NET,8错         
            !||.NE      T,8错    !||.    NET,8错         
            !||.NE      T,8错  !||.NE    T,8错            
            !||.NE      T,8错  !||.NE    T,8错            
            !||.NE      T,8错  !||.NE    T,8错            
      !||.NET,8错!|          |.NET,8错!|                  
        |.NET,8错            !||.NET,8错!||.              
          NET,8错          !||.NE    T,8错!||.NE         
                        T,8错!|        |.NET,8错         
                    !||.NET,            8错!||.NE        
                T,8错!||.                  NET,8错        
                                                        
                                                        
                                                  
#7
wuhanshayo2005-09-26 11:19
看看
#8
xuanxuan19812005-09-26 15:21
终于找到解决的办法了
#9
summer2005-09-27 10:25
帮忙啊!
这位大哥,你能帮我看看.我想把保存在文本文件的内容转移到Excel里面,小弟在这里先谢过啦.
#10
zch2005-09-27 13:15
我要学习学习.
#11
longgen2005-09-27 13:39
TO : summer 当然可以,文本文件中的字符写到Excel 和 Access写进Excel基本上是一样的道理. 不同的是由于两者的类型不同打开的方式也就不同了。以下就是实现的思路: 你可以 用 OPEN 方法打开文本(注意这里 要文本的内容字段之间一定要有识别符号,如 逗号或空格等) 然后获取你要写进的字符串后按顺序写进Excel就OK了.

[此贴子已经被作者于2005-9-27 13:40:20编辑过]

#12
dabenben20022005-09-27 16:19
kankan
#13
水影月圆2005-09-30 21:27
不懂 学习下 问下为什么要把Access数据写入Xls啊?有什么用?
#14
longgen2005-09-30 23:12
是为做软件打基础而已,主要是为了学习方法为目的.
#15
cxygsyxx2005-10-05 09:10
好帖,我也想了解关于用VB控制ACCESS与EXCEL之间的数据转换.
#16
zhphero2005-10-07 23:29
dsfasad
#17
shifeng27992005-10-08 01:36
真是强中自有强中手,一山还比一山高,小弟我甘拜下风!
#18
syh8782005-10-08 10:32
kankan
#19
ychxy2005-10-08 19:44
什么好东东?
#20
syh8782005-10-09 09:55
我的地址是shy878@163.com,呵呵
#21
syh8782005-10-09 15:05
错了,是syh878@163.com,不好意思楼主啊
#22
辉少2005-10-10 21:25
我要欣赏一下你个杰作
#23
vbprogrammer2005-10-12 16:47
我要程序

#24
hothell2005-10-15 09:27
正好向高手学习学习!
#25
powermax2005-10-17 23:44
看看~~~~~
#26
hackerlyf2005-10-18 15:32
顶!我要源码!
#27
intellicad2005-10-22 12:17
看看
#28
yjf2012005-10-27 07:45
好的,学习学习
#29
jackboy2005-10-27 12:50
瞧瞧
#30
kkandqq2005-10-29 23:41
看看
这正是我需要的内容
#31
zouxuee2005-10-31 10:47
我也看看吧,最近老是遇到Excel导出出错的问题,真是麻烦阿!
#32
ym80002005-11-01 16:12

新手学习

#33
firsttiger2005-11-03 09:40

看一看,呵呵
Access----> Excel
#34
shifeng27992005-11-04 21:39

好贴!!!!!!!!!!

#35
sky1082005-11-12 21:47
学习学习,感谢楼主。
#36
work222005-11-23 16:47
你好!我想请教哦
VB+SQL的问题,和数据的操作!
#37
八宝882005-12-20 13:20

好!

#38
longgen2005-12-20 15:44
谢谢支持!!
#39
oyplc2006-01-10 15:34
楼主真是高人哦,谢谢
#40
layjg2006-01-16 19:18
下了看看
看看
#41
goklong2006-01-16 20:15

好东西,多谢了~

#42
k2gb2006-01-18 20:49

谢谢

#43
ouyangsusu2006-01-19 13:59

正在找

正好看看

#44
lgqxxq2006-03-16 00:58
ok xuexi
#45
zhangcrazy2006-03-18 03:52

看下~~~~

#46
xinfresh2006-03-18 23:14
又看了一下,还是觉得不错!
#47
torf2006-04-17 21:25

谢谢楼主!

#48
强我中华2006-04-20 08:23
谢过
#49
john87141052006-05-11 13:18
dddddddd
ddddddddddddddddd
#50
Lotti2006-05-17 13:04
好东西,下来看看~
#51
alalei_20062006-05-17 13:29

我想看看

12345678