将Excel电子表格导入Access

时间:2017-05-15 16:17:14

标签: excel vba excel-vba ms-access-2013 excel-2013

我有一个独特的要求,我需要将Excel电子表格导入Access。为什么它是唯一的事实是,它可以 一个.xls或.xlsx这就是为什么我走了下面语法的路线。我遇到的问题是,如果列A的标题不完全是chintook,则会出现错误。

是否有更好的更有效的方式导入电子表格,无论是.xlsx还是.xls进入Access 2013?如果电子表格有多列,我只想导入A列,该列应该是文本数据类型。

CreateTableSQL = "CREATE TABLE [TestImport] (FieldPK COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Chintook TEXT);"
db.Execute CreateTableSQL

'Creating a file selector for .xls or .xlsx files
Set f = Application.FileDialog(3)

With f
    .AllowMultiSelect = False
    .Title = "Please Select the Excel File To Import"
    .Filters.Add "Excel Files", "*.xls*"

    If .Show = True Then
        For i = 1 To f.SelectedItems.Count
            'Getting file name selected
            selectedfile = f.SelectedItems(i)
            'Pulling out file extension to use proper import type
            ExtFind = Right(selectedfile, Len(selectedfile) - InStrRev(selectedfile, "."))
            If ExtFind = "xls" Then
                param = acSpreadsheetTypeExcel9
            ElseIf ExtFind = "xlsx" Then
                param = acSpreadsheetTypeExcel12
            End If
            'Importing spreadsheet into table
            DoCmd.TransferSpreadsheet acImport, param, "TestImport", selectedfile, True
         Next i

    Else
        'Messagebox to show that the user clicked out of the import box
        MsgBox "You clicked Cancel in the file dialog box."
    End If

End With

修改
或者有没有办法使用我上面的当前方法导入,但忽略电子表格的第一行(标题行),这样无论最终用户名列A是什么,结果仍然是成功导入?

0 个答案:

没有答案