我有一个独特的要求,我需要将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是什么,结果仍然是成功导入?