如何快速从access导出一张表,存放在Excel中?

luolan0082 2007-02-05 08:42:16
我现在的方法太慢了.用数组的话是很快,但是有的时候导入的数据总是出错.

有没有直接把access表的中数据,直接原样的存在excel表的方法,谢谢

PS:我用的ado做的,要是可能的话,请给个ado的小例子.谢谢
...全文
559 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hellomaixy 2011-06-22
  • 打赏
  • 举报
回复
顶,找了好久,学习了
cqq_chen 2011-06-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wallescai 的回复:]
最最最快的方法来了.
根本不要去读那个ACCESS的内容,直接使用ACCESS对象的内置导出功能生成EXCEL报表:

1:工程->引用->Microsoft Access Object library
2:代码:
Dim ACC As New Access.Application
ACC.OpenCurrentDatabase "C:\TEST.MDB"'用ACCESS对象打开C:……
[/Quote]
这种方法至少用到的人很少!
胜灵 2011-06-20
  • 打赏
  • 举报
回复
熊孩子开学喽 2008-10-28
  • 打赏
  • 举报
回复
最最最快的方法来了.
根本不要去读那个ACCESS的内容,直接使用ACCESS对象的内置导出功能生成EXCEL报表:

1:工程->引用->Microsoft Access Object library
2:代码:
Dim ACC As New Access.Application
ACC.OpenCurrentDatabase "C:\TEST.MDB"'用ACCESS对象打开C:\TEST.MDB
'下面这句就是将指定的表Company导出到文件C:\MDB.XLS中
ACC.DoCmd.OutputTo acOutputTable, "Company", acFormatXLS, "C:\MDB.XLS"
ACC.CloseCurrentDatabase '关闭数据库
ACC.Quit 'acQuitSaveNone '关闭ACCESS对象
Set ACC = Nothing '释放ACCESS对象

你看,其实和操作EXCEL对象是差不多的.
这下可不要再去数据库里一条一条读再往EXCEL里一格一格写了哦.
youchun2008 2008-10-22
  • 打赏
  • 举报
回复
hao
knowledge_Is_Life 2008-05-01
  • 打赏
  • 举报
回复
我也想了解,谢谢LZ.
liuhuayu 2008-02-25
  • 打赏
  • 举报
回复
出错的原因是你的offic 是精简版的可能没有某个VBA类库
luolan0082 2007-02-05
  • 打赏
  • 举报
回复
问题我找到了...但是原因不明白...谢谢你...

我把VB和OFFICE重装后就好用了...
luolan0082 2007-02-05
  • 打赏
  • 举报
回复
谢谢楼上.

这个我也找到了,但是,运行到这个地方总是提示"DLL出错" Set xlApp = CreateObject("Excel.Application")

不知道是什么原因?
yangao 2007-02-05
  • 打赏
  • 举报
回复
某大虾的
-----------------------
Visual Basic 导出到 Excel 提速之法


Excel 是一个非常优秀的报表制作软件,用VBA可以控制其生成优秀的报表,本文通过添加查询语句的方法,即用Excel中的获取外部数据的功能将数据很快地从一个查询语句中捕获到EXCEL中,比起往每个CELL里写数据的方法提高许多倍。

将下文加入到一个模块中,屏幕中调用如下ExporToExcel("select * from table")则实现将其导出到EXCEL中

Public Function ExporToExcel(strOpen As String)
'*********************************************************
'* 名称:ExporToExcel
'* 功能:导出数据到EXCEL
'* 用法:ExporToExcel(sql查询字符串)
'*********************************************************
Dim Rs_Data As New ADODB.Recordset
Dim Irowcount As Integer
Dim Icolcount As Integer

Dim xlApp As New Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim xlQuery As Excel.QueryTable

With Rs_Data
If .State = adStateOpen Then
.Close
End If
.ActiveConnection = Cn
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockReadOnly
.Source = strOpen
.Open
End With
With Rs_Data
If .RecordCount < 1 Then
MsgBox ("没有记录!")
Exit Function
End If
'记录总数
Irowcount = .RecordCount
'字段总数
Icolcount = .Fields.Count
End With

Set xlApp = CreateObject("Excel.Application")
Set xlBook = Nothing
Set xlSheet = Nothing
Set xlBook = xlApp.Workbooks().Add
Set xlSheet = xlBook.Worksheets("sheet1")
xlApp.Visible = True

'添加查询语句,导入EXCEL数据
Set xlQuery = xlSheet.QueryTables.Add(Rs_Data, xlSheet.Range("a1"))

With xlQuery
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
End With

xlQuery.FieldNames = True '显示字段名
xlQuery.Refresh

With xlSheet
.Range(.Cells(1, 1), .Cells(1, Icolcount)).Font.Name = "黑体"
'设标题为黑体字
.Range(.Cells(1, 1), .Cells(1, Icolcount)).Font.Bold = True
'标题字体加粗
.Range(.Cells(1, 1), .Cells(Irowcount + 1, Icolcount)).Borders.LineStyle = xlContinuous
'设表格边框样式
End With

With xlSheet.PageSetup
.LeftHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10公司名称:" ' & Gsmc
.CenterHeader = "&""楷体_GB2312,常规""公司人员情况表&""宋体,常规""" & Chr(10) & "&""楷体_GB2312,常规""&10日 期:"
.RightHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10单位:"
.LeftFooter = "&""楷体_GB2312,常规""&10制表人:"
.CenterFooter = "&""楷体_GB2312,常规""&10制表日期:"
.RightFooter = "&""楷体_GB2312,常规""&10第&P页 共&N页"
End With

xlApp.Application.Visible = True
Set xlApp = Nothing '"交还控制给Excel
Set xlBook = Nothing
Set xlSheet = Nothing

End Function


注:须在程序中引用'Microsoft Excel 9.0 Object Library'和ADO对象,机器必装Excel 2000

本程序在Windows 98/2000,VB 6 下运行通过。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧