设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1637|回复: 8
打印 上一主题 下一主题

[模块/函数] 请教!如何将不同的表导出到同一个Excel中?

[复制链接]
跳转到指定楼层
1#
发表于 2016-10-22 17:02:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教各位大侠!如何用代码将不同的表导出到同一个Excel的不同的工作表中?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2016-10-22 17:05:43 | 只看该作者
控制 Excel.Application
然后 用Worksheets.add 添加一个新的工作表 然后把内容写进去
大致可能是这样的原理
3#
发表于 2016-10-22 17:20:38 | 只看该作者
方法很多,不知道哪种适合你,
最好传上例子
4#
 楼主| 发表于 2016-10-22 17:42:42 | 只看该作者
Henry D. Sy 发表于 2016-10-22 17:20
方法很多,不知道哪种适合你,
最好传上例子

    DoCmd.OutputTo acTable, "表1", "MicrosoftExcelBiff8(*.xls)", "D:\123\导出数据.xls", False, "", 0
    DoCmd.OutputTo acTable, "表2", "MicrosoftExcelBiff8(*.xls)", "D:\123\导出数据.xls", False, "", 0
这个一运行就提示是否覆盖已有的  导出数据.xls  
5#
发表于 2016-10-22 18:01:39 | 只看该作者
sxgaobo 发表于 2016-10-22 17:42
DoCmd.OutputTo acTable, "表1", "MicrosoftExcelBiff8(*.xls)", "D:\123\导出数据.xls", False, "", ...

这个是最简单的导出
而且会覆盖同文件名的
6#
 楼主| 发表于 2016-10-22 18:56:36 | 只看该作者
tmtony 发表于 2016-10-22 17:05
控制 Excel.Application
然后 用Worksheets.add 添加一个新的工作表 然后把内容写进去
大致可能是这样的 ...

能麻烦您给做个例子吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
7#
发表于 2016-10-25 17:11:55 | 只看该作者
sxgaobo 发表于 2016-10-22 18:56
能麻烦您给做个例子吗?
  1. Private Sub Command0_Click()

  2.     Dim rs As New ADODB.Recordset
  3.     Dim rst As New ADODB.Recordset
  4.     Dim sSQL As String
  5.     Dim xlApp As New Excel.Application
  6.     Dim xlBook As Workbook
  7.     Dim xlSheet As Worksheet
  8.     Dim i As Integer

  9.     On Error GoTo Command0_Click_Error

  10.     Set xlApp = CreateObject("Excel.Application")
  11.     Set xlBook = Nothing
  12.     Set xlSheet = Nothing
  13.     Set xlBook = xlApp.Workbooks().Add
  14.     xlBook.SaveAs CurrentProject.Path & "" & Format(Now(), "yyyy mmdd hhmm") & " UNION.xlsx"
  15.     sSQL = "SELECT MSysObjects.Name FROM MSysObjects WHERE (((MSysObjects.Type)=1) AND ((Left([name],4))<>'msys')) ORDER BY MSysObjects.Name DESC"
  16.     rs.Open sSQL, CurrentProject.Connection, adOpenKeyset, adLockReadOnly
  17.     Do While Not rs.EOF
  18.         Set xlSheet = xlBook.Worksheets.Add
  19.         xlSheet.Name = rs.Fields(0)
  20.         rst.Open xlSheet.Name, CurrentProject.Connection, adOpenKeyset, adLockReadOnly
  21.         For i = 0 To rst.Fields.Count - 1
  22.             xlSheet.Cells(1, i + 1) = rst.Fields(i).Name
  23.         Next
  24.         xlSheet.Range("A2").CopyFromRecordset rst
  25.         rst.Close
  26.         rs.MoveNext
  27.     Loop
  28.     rs.Close
  29.     Set rst = Nothing
  30.     Set rs = Nothing
  31.     xlBook.Save
  32.     xlApp.WindowState = xlMaximized
  33.     xlApp.Application.Visible = True
  34.     Set xlSheet = Nothing
  35.     Set xlBook = Nothing
  36.     Set xlApp = Nothing

  37.     On Error GoTo 0
  38.     Exit Sub

  39. Command0_Click_Error:

  40.     MsgBox "Error " & Err.Number & " (" & Err.Description & ")"
  41. End Sub
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
8#
发表于 2016-10-25 17:22:27 | 只看该作者
忘记说要引用

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
9#
 楼主| 发表于 2016-10-25 20:01:37 | 只看该作者

谢谢!辛苦了~~~!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-20 15:05 , Processed in 0.111558 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表