解决Access2007以上版本报表导出没有Excel选项的办法

2017-12-18 16:18:00
黄善超
原创
995

在Access2003中,可以右键-导出 Excel格式。这个功能非常方便有用。但是在Access2007之后,报表导出没有 导出Excel选项。

所以用户无法直接将报表导出为Excel格式。


在一个博客帖子中,提供一个可以从Access 2007中导出报表到Excel 中的解决方案

具体是使用Access 2007中提供的导出到XML选项来使用Excel中的报表数据。下面给出了详细的步骤:

1.如一个学生数据库,有个学生信息报表,其中列出了所有学生信息:


2.导出此报表 =》菜单栏功能区中的“导出”选项卡,如下图所示的选项:


3.从列表中选择XML File选项,如下图所示的导出向导:

第一步:选择文件路径和文件名。


第二步:选择要导出的信息。这里有三个选项:1.数据(XML)2.模式(XSD)3.样式(XSL),在这里选择适当的选项。

如果想在Excel中使用XML文件,可以选择选项1(数据)和选项2(模式)。

第三步:选定后,文件将被保存到选定的位置。

其中,有一个选项可以保存导出步骤,以便下次选择导出到“XML文件”时,将直接获取保存的设置并执行导出操作。


4.做到这里,已经成功导出了XML文件和架构(如果选中)。如果本机excel支持XML,您可以打开Excel界面,然后选择文件=》 打开,然后选择刚才在#3中导出的XML文件。Excel将提示打开选项。选择“XML表”。


5.如果没有使用XML文件导出的XSD结构,则会收到以下消息作为信息对话框。


6.点击确定,数据就可以在Excel中使用了。如下图:


附:使用VBA解决方案

Public Sub OutPuttoExcel()
'    initialize variables
    Dim strReportName As String
    Dim strPathUser As String
    Dim strFilePath As String
    
'    set variables
    strReportName = "AlarmLetterForSF"
    strPathUser = Environ$("USERPROFILE") & "\my documents"
    strFilePath = strPathUser & strReportName & Format(Date, "yyyymmdd") & ".xls"
    
'    export to excel
    DoCmd.OutputTo acOutputReport, strReportName, acFormatXLS, strFilePath
    
'    launch excel file
    Dim Shex As Object
    Set Shex = CreateObject("Shell.Application")
    Shex.Open (strFilePath)
End Sub


    分享