编程论坛's Archiver

longgen 发表于 2005-9-12 10:44

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


介绍 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

回复后可以下载源码

**** Hidden Message *****
[align=right][color=#000066][此贴子已经被作者于2005-9-21 19:24:26编辑过][/color][/align]

08980898xmb 发表于 2005-9-12 10:57

看看!

longgen 发表于 2005-9-22 20:38

对前面的程序稍微加了一些代码的花样.
[attach]3380[/attach]
[/hide]
[align=right][color=#000066][此贴子已经被作者于2005-10-19 11:00:56编辑过][/color][/align]

doublexchen 发表于 2005-9-22 21:25

顶了看下[em01]

pennino 发表于 2005-9-23 12:57

<P>一、在Access中使用代码打开Excel:</P><P>Public MyXL As Object
'打开Excel
Sub GetExcel()</P><P>    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实例</P><P>二、新建一个工作簿</P><P>Sub CreateNewBook</P><P>    MyXL.Application.Workbooks.Add
End Sub</P><P>三、使用代码将窗体上的数据复制到Windows粘贴板</P><P>Sub CopyToClip</P><P>        Forms(FormName).Controls(SubFormName).SetFocus
        DoCmd.RunCommand acCmdSelectAllRecords
        DoCmd.RunCommand acCmdCopy
End Sub</P><P>四、使用代码将Windows粘贴板的内容粘贴到Excel</P><P>Sub CopyToExcel()</P><P>    GetExcel
    MyXL.Application.Workbooks.Add
    MyXL.Application.ActiveSheet.Paste
End Sub</P><P>五、对导出到Excel中的数据进行格式化,比如,加上报表标题、设置表格线等。</P><P>Sub FormatTAB()</P><P>    SetLine      '设置表格线的子程序,在Access中实现对Excel文档格式化</P><P>    '插入两行作为标题行</P><P>    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</P><P>'设置表格线
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
</P><P>六、关闭打开的工作簿</P><P>'关闭Excel
Sub CloseExcel()
    On Error Resume Next
    MyXL.Application.DisplayAlerts = False
    MyXL.Application.Save
    MyXL.Application.Quit
    Set MyXL = Nothing    '释放对该应用程序
End Sub
经过上面的讲述,一个完整的导出操作就完成了。</P>

longgen 发表于 2005-9-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错        
                                                        
                                                        
                                                  

wuhanshayo 发表于 2005-9-26 11:19

看看

xuanxuan1981 发表于 2005-9-26 15:21

终于找到解决的办法了

summer 发表于 2005-9-27 10:25

帮忙啊!

这位大哥,你能帮我看看.我想把保存在文本文件的内容转移到Excel里面,小弟在这里先谢过啦.

zch 发表于 2005-9-27 13:15

我要学习学习.[em07]

longgen 发表于 2005-9-27 13:39

<b><FONT color=#000066>TO : summer</FONT></b>
当然可以,文本文件中的字符写到Excel 和 Access写进Excel基本上是一样的道理.
不同的是由于两者的类型不同打开的方式也就不同了。以下就是实现的思路:
你可以 用 OPEN  方法打开文本(注意这里 要文本的内容字段之间一定要有识别符号,如 逗号或空格等) 然后获取你要写进的<FONT color=#f73809>字符串</FONT>后按顺序写进Excel就OK了.
[align=right][color=#000066][此贴子已经被作者于2005-9-27 13:40:20编辑过][/color][/align]

dabenben2002 发表于 2005-9-27 16:19

kankan

水影月圆 发表于 2005-9-30 21:27

不懂 学习下 问下为什么要把Access数据写入Xls啊?有什么用?

longgen 发表于 2005-9-30 23:12

是为做软件打基础而已,主要是为了学习方法为目的.

cxygsyxx 发表于 2005-10-5 09:10

好帖,我也想了解关于用VB控制ACCESS与EXCEL之间的数据转换.

zhphero 发表于 2005-10-7 23:29

dsfasad

shifeng2799 发表于 2005-10-8 01:36

真是强中自有强中手,一山还比一山高,小弟我甘拜下风!

syh878 发表于 2005-10-8 10:32

kankan

ychxy 发表于 2005-10-8 19:44

什么好东东?

syh878 发表于 2005-10-9 09:55

我的地址是<a href="mailtshy878@163.com" target="_blank" >shy878@163.com</A>,呵呵[em07]

页: [1] 2 3 4 5 6 7 8 9 10

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.