如何将excel文件导入访问数据库?

我想将一张excel文件导入到访问数据库中

Private Sub Commande9_Click() Dim filepath As String filepath = "C:\Users\TXZG6067\Desktop\com.xlsx" DoCmd.TransferSpreadsheet acImport, , "ImportFromExcel", filepath, True End Sub 

请帮我,谢谢。

指定工作表名称:

 DoCmd.TransferSpreadsheet acImport, , "ImportFromExcel", filepath, True, "WorksheetName$" 

要么:

 DoCmd.TransferSpreadsheet acImport, , "ImportFromExcel", filepath, True, "WorksheetName!" 

要将Excel文件或其中一个工作表导入数据库,必须执行以下步骤:

1)将该工作表/文件转换为逗号分隔符。 使用Save as选项进行转换。

2)使用StreamReader类读取此文件。 validation列长度和每列包含的数据。

3)使用StringBuilder类创build一个查询(推荐),但你也可以使用一个string 。 如:

 StringBuilder Sb = new StringBuilder("Insert Into table_name Values("); foreach(row in dt.rows) { sb = null; int j = 1; for(int i=0; i<columns_Count-1 ; i++) //Column count minus one to handle last column data { Sb.Append("'"+row[0][i]+"',"); j++; } if(j == columns_Count) //last column appends data without comma { Sb.Append("'"+row[0][columns_Count]+"'"); } Sb.Append(")"); //execute insert query here } 

您可以在Excel VBA(ADO)中尝试此操作,假定您的数据在列A到C等等。

 Dim dbpath as String, _ x as long, _ rs As ADODB.Recordset, _ cn As ADODB.Connection Set cn = New ADODB.Connection Set rs = New ADODB.Recordset dbPath = /your db path cn.Open "Provider=Microsoft.ace.OLEDB.12.0;Data Source=" & dbPath rs.Open "Consolidated", cn, adOpenKeyset, adLockOptimistic, adCmdTable For x = 2 To LastRow rs.AddNew rs.Fields("Fieldnm1") = Range("A" & x).value rs.Fields("Fieldnm2") = Range("B" & x).value rs.Fields("Fieldnm3") = Range("C" & x).value rs.Update Next x rs.Close Set cn = Nothing Set rs = Nothing 
 DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9 , _ "TableOrQuery","YourExcelPath", _ True, "TheNameofTheSheetYouWant" 

语法: expression .TransferSpreadsheet(TransferType, SpreadsheetType, TableName, FileName, HasFieldNames, Range, UseOA)

例:

 DoCmd.TransferSpreadsheet acImport, 3, _ "Employees","C:\Lotus\Newemps.wk3", True, "A1:G12" 

你必须给它SpreadsheetType,关于SpreadsheetType细节见下面的链接:

https://msdn.microsoft.com/en-us/library/office/ff196017.aspx