Office中国论坛/Access中国论坛

标题: 导出Excel主从表示例 [打印本页]

作者: todaynew    时间: 2009-3-22 14:14
标题: 导出Excel主从表示例
本帖最后由 todaynew 于 2009-3-22 14:19 编辑

导出Excel表的方法很多,其中需要向特定单元格写入数据的方法,是需要用到App的方法。本例从这个方法出发,简要描述了VB的基本写法,初学者可根据其实际需要进行改造,由此便可以得到你自己需要导出的效果。

示例图:

[attach]36836[/attach]

示例:

[attach]36835[/attach]

主要代码:

Private Sub 导出_Click()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim rs As New ADODB.Recordset
Dim sql As String
Dim i As Long
Dim fname As String
Dim shtname As String
On Error GoTo 导出_Err
fname = GetFolder                                                     '打开文件夹并选取文件
shtname = InputBox("请选择表:", "表选择窗体", "Sheet1")    '指定导出到的工作表名称
sql = "select * from 联合查询 where 单据ID=" & Me.单据ID
rs.Open sql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Set xlApp = CreateObject("Excel.Application")                '创建一个Excel实例
xlApp.Application.Visible = True                                   '使Excel可见
Set xlBook = xlApp.Workbooks.Open(fname)                   '打开Excel工作簿
'导出主表
xlBook.Application.Sheets(shtname).Select                    '按指定名称选择工作表
xlBook.Application.Range("A1").Value = "单 据 ID"
xlBook.Application.Range("A2").Value = "单据类型"
xlBook.Application.Range("C1").Value = "单据名称"
xlBook.Application.Range("C2").Value = "日    期"
xlBook.Application.Range("B1").Value = Me.单据ID
xlBook.Application.Range("B2").Value = Me.单据类型
xlBook.Application.Range("D1").Value = Me.单据名称
xlBook.Application.Range("D2").Value = Me.日期
'导出子表
xlBook.Application.Cells(3, 1).Value = "记录ID"
xlBook.Application.Cells(3, 2).Value = "单据ID"
xlBook.Application.Cells(3, 3).Value = "物资ID"
xlBook.Application.Cells(3, 4).Value = "物资名称"
xlBook.Application.Cells(3, 5).Value = "规格型号"
xlBook.Application.Cells(3, 6).Value = "计量单位"
xlBook.Application.Cells(3, 7).Value = "数量"
xlBook.Application.Cells(3, 8).Value = "单价"
xlBook.Application.Cells(3, 9).Value = "金额"
For i = 1 To rs.RecordCount
    xlBook.Application.Cells(i + 3, 1).Value = rs("记录ID")
    xlBook.Application.Cells(i + 3, 2).Value = rs("单据ID")
    xlBook.Application.Cells(i + 3, 3).Value = rs("物资ID")
    xlBook.Application.Cells(i + 3, 4).Value = rs("物资名称")
    xlBook.Application.Cells(i + 3, 5).Value = rs("规格型号")
    xlBook.Application.Cells(i + 3, 6).Value = rs("计量单位")
    xlBook.Application.Cells(i + 3, 7).Value = rs("数量")
    xlBook.Application.Cells(i + 3, 8).Value = rs("单价")
    xlBook.Application.Cells(i + 3, 9).Value = rs("金额")
    rs.MoveNext
Next
xlApp.Quit
rs.Close
Set xlApp = Nothing
Set xlBook = Nothing
导出_Exit:
    Exit Sub
导出_Err:
    MsgBox "数据错误,请检查!"
    Resume 导出_Exit
End Sub

作者: luhao    时间: 2009-3-22 14:25
导出Excel表的方法很多,其中需要向特定单元格写入数据的方法,是需要用到App的方法。本例从这个方法出发,简要描述了VB的基本写法,初学者可根据其实际需要进行改造,由此便可以得到你自己需要导出的效果。

示例 ...
todaynew 发表于 2009-3-22 14:14


我正需要这个,多谢斑主
作者: Henry D. Sy    时间: 2009-3-22 15:17
看看
作者: todaynew    时间: 2009-3-22 15:54
我正需要这个,多谢斑主
luhao 发表于 2009-3-22 14:25


就是为你写的,呵呵。
作者: xuwenning    时间: 2009-3-25 16:01
学习
学习
谢谢分享
作者: lymin    时间: 2009-3-28 01:38
我也需要
作者: wxf2008hz    时间: 2009-8-12 16:51
谢谢分享
作者: 风啸啸    时间: 2009-8-12 18:47
谢谢。
作者: huangxiuwen    时间: 2009-8-12 23:53
学习
作者: aq217    时间: 2009-8-25 16:19
学习
学习
谢谢分享
作者: 老人与海    时间: 2009-8-25 19:51
学习!
作者: xluuu    时间: 2009-8-28 15:20
学习一下
作者: ciyun20    时间: 2009-9-11 11:55
学习了
作者: dragon2476    时间: 2009-11-27 10:59
学习学习
作者: kfzhigen    时间: 2009-12-10 14:13
我正在找这个,多谢斑主
多谢多谢
作者: goto2008    时间: 2009-12-10 15:32
学习
作者: dbbygzy    时间: 2009-12-10 16:52
学习
作者: leijiqiang    时间: 2010-1-11 08:45
这个家伙精品太多
作者: secowu    时间: 2010-3-1 17:06
正需要这个啊.谢谢
作者: 风啸啸    时间: 2010-3-1 20:53
谢谢分享
作者: yanwei82123300    时间: 2010-3-2 12:17
THANKS YOU SHARTING IT
作者: 风啸啸    时间: 2010-3-15 20:52
学习。
作者: cairenhui    时间: 2010-3-25 23:42
急需要啊
作者: cybjlt0121    时间: 2010-4-12 14:09
xieixie
作者: cybjlt0121    时间: 2010-4-12 14:09
谢谢
作者: cybjlt0121    时间: 2010-4-12 14:10
学习下
作者: src    时间: 2010-4-13 09:58
学习
作者: xie62    时间: 2010-5-14 15:05
谢谢分享
作者: yangjj    时间: 2010-9-24 22:18
加入我的程序后
Dim xlApp As Excel.Application这一句出错,用户定义类型未定义,无法运行.但运行实例程序是好的
怪事!
作者: 十三    时间: 2015-5-5 22:18
多看论坛学习不少
作者: officeifans    时间: 2017-4-3 09:28
正需要,学习了,谢谢!!
作者: lively    时间: 2017-5-12 23:32
崇拜大神

作者: utalents    时间: 2018-6-4 12:44
正需要




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3