【问题标题】:Export tables to an excel spreadsheet in same directory将表格导出到同一目录中的 Excel 电子表格
【发布时间】:2010-12-23 09:41:06
【问题描述】:

我有 我的 access 数据库中有两个表,我希望能够导出到 excel

我可以通过打开表格然后执行 File->Export... 然后选择格式并输入文件名来做到这一点。

但是,这样用户实际上必须输入名称,因此存在错误命名文件或将其保存为错误格式或保存在错误位置的空间。此外,这两个表必须导出到两个单独的工作簿。

我想要做的是在表单上制作一个按钮,该按钮会自动将一个表导出到一个工作表,将另一个表导出到另一个工作表,两者都在 同一个 Excel 工作簿。

如果无法将它们放在同一个工作簿中,那也没关系。我只是希望它们自动导出到保存我的访问数据库的同一目录中。

如果您知道如何操作,额外的好处可能是自定义名称以包含日期。这样,该目录也将具有历史导出。有什么建议吗?

【问题讨论】:

    标签: excel vba ms-access export-to-excel


    【解决方案1】:

    您可以使用 VBA 将 Access 数据库表导出为 Excel 工作簿中的工作表。

    要获取 Access 数据库的路径,请使用 CurrentProject.Path 属性。

    要使用当前日期命名 Excel 工作簿文件,请使用 Format(Date, "yyyyMMdd") 方法。

    最后,要将表格导出为工作表,请使用DoCmd.TransferSpreadsheet 方法。

    例子:

    Dim outputFileName As String
    outputFileName = CurrentProject.Path & "\Export_" & Format(Date, "yyyyMMdd") & ".xls"
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Table1", outputFileName , True
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Table2", outputFileName , True
    

    这会将 Table1 和 Table2 输出到同一个工作簿中。

    HTH

    【讨论】:

    • 效果很好,但是如何强制它导出到 CurrentProject.Path?
    • outputFileName = CurrentProject.Path & "\Export_" & Format(Date, "YYYYDDmm") & ".xls"
    • 在提供的代码中,通过在将值分配给 outputFileName 变量时包含路径,强制它将文件保存到当前路径。也就是说,将 CurrentProject.Path 粘贴在 = 和 " 之间,并在引号之后放置一个 \(CurrentProject.Path 省略了尾部斜杠)。
    • 它只导出65535行,更多,你需要使用DoCmd.TransferText
    【解决方案2】:

    劳伦斯给了你一个很好的答案。但是,如果您想更好地控制导出到 Excel 中的位置,请参阅Modules: Sample Excel Automation - 逐个单元格,这很慢,Modules: Transferring Records to Excel with Automation 您可以执行诸如从第 2 行开始导出记录集并在第 1 行插入自定义文本之类的操作。以及所需的任何自定义格式。

    【讨论】:

      【解决方案3】:

      对于通过搜索引擎找到此内容的人,您不需要 VBA。你可以:

      1.) select the query or table with your mouse
      2.) click export data from the ribbon
      3.) click excel from the export subgroup
      4.) follow the wizard to select the output file and location.
      

      【讨论】:

      • 如果您将其作为最终用户应用程序/报告系统提供,这不是一个有效的解决方案
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多