将.xls文件导入Access 365

时间:2017-04-22 11:14:11

标签: excel access

我有各种.xls文件,我无法在Excel中打开,因为它们太大了。 我一直在尝试将它们导入Access 365,但得到Access无法访问文件中的信息的错误。 我今天早上一直在阅读几个论坛的建议,但是唯一的建议是不可行的,因为它们需要打开文件并保存.xlsx,我不能这样做,因为如上所述,我无法打开文件。 任何建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

如何在Excel中打开无法打开的Excel文件?您必须在某些时候使用Excel来创建文件。据我所知,唯一的限制是你正在使用的机器上的RAM。

您可以尝试以下脚本吗?

Sub Import()

        Dim strPathFile As String, strFile As String, strPath As String
        Dim strTable As String
        Dim blnHasFieldNames As Boolean

        ' Change this next line to True if the first row in EXCEL worksheet
        ' has field names
        blnHasFieldNames = False

        ' Replace C:\Documents\ with the real path to the folder that
        ' contains the EXCEL files
        strPath = "C:\Documents\"

        ' Replace tablename with the real name of the table into which
        ' the data are to be imported
        strTable = "tablename"

        strFile = Dir(strPath & "*.xls")
        Do While Len(strFile) > 0
              strPathFile = strPath & strFile
              DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _
                    strTable, strPathFile, blnHasFieldNames

        ' Uncomment out the next code step if you want to delete the
        ' EXCEL file after it's been imported
        '       Kill strPathFile

              strFile = Dir()
        Loop

End Sub

如果Access无法处理它,我发现很难相信,您可以使用SQL Server来完成工作。

http://www.accessmvp.com/KDSnell/EXCEL_Import.htm

Select * into SQLServerTable FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=D:\testing.xlsx;HDR=YES', 'SELECT * FROM [Sheet1$]')

http://www.ashishblog.com/importexport-excel-xlsx-or-xls-file-into-sql-server/

或者......使用R执行此任务。

library(xlsx)
file <- system.file("tests", "test_import.xlsx", package = "xlsx")
res <- read.xlsx(file, 1)  # read first sheet
head(res[, 1:6])

http://www.sthda.com/english/wiki/r-xlsx-package-a-quick-start-guide-to-manipulate-excel-files-in-r

如果这些选项都不起作用,我会说Excel文件可能已损坏,这是一个完全不同的问题。