如何将所有表从Access数据库导出到Excel中 – 每张表的表单

我有一个Access数据库〜30表。

如何将所有30个表格导出到Excel工作簿的单独工作表中?

我希望find一些VBA / VBS代码,我可以在Access内运行来完成这个任务。

有任何想法吗?

你应该可以做这样的事情:

Dim tbl as Tabledef For Each tbl in Currentdb.TableDefs DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, tbl.name, "PathName.xls", True, tbl.name Next 

第二个tbl.name是工作表名称。

这是我使用的完整模块。

 Sub expotT() Dim td As DAO.TableDef, db As DAO.Database Set db = CurrentDb() For Each td In db.TableDefs If Left(td.Name, 4) <> "msys" Then DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, _ td.Name, "C:\xExcelTables.xls", True, td.Name End If Next End Sub 

这里是上面代码的格式化和固定版本。 我们不需要excel文件中的MSys表格和表格名称中的dbo前缀。 导出也可以相对于MS Access数据库或固定。

这是代码:

 Sub exportTables2XLS() Dim td As DAO.TableDef, db As DAO.Database Dim out_file As String out_file = CurrentProject.path & "\excel_out.xls" Set db = CurrentDb() For Each td In db.TableDefs If Left(td.Name, 4) = "MSys" Then '// do nothing -- skip Else DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, _ td.Name, out_file, True, Replace(td.Name, "dbo_", "") End If Next End Sub