我在谷歌上看到了更多的答案,但无法解决我的问题。这是我为将excel表插入sql server表而编写的代码。
string strConnection = ConfigurationManager.ConnectionStrings[0].ToString();
string path = @"D:/Projects/sample.xlsx";
string excelConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties="Excel 12.0;HDR=YES;IMEX=1";";
OleDbConnection excelConnection = new OleDbConnection(excelConnectionString);
//Create OleDbCommand to fetch data from Excel
OleDbCommand cmd = new OleDbCommand("Select [Name], [City], [Address], [Designation] from [Sheet1$]", excelConnection);
excelConnection.Open();
OleDbDataReader dReader;
dReader = cmd.ExecuteReader();
SqlBulkCopy sqlBulk = new SqlBulkCopy(strConnection);
//Give your Destination table name
sqlBulk.DestinationTableName = "temp1";
sqlBulk.WriteToServer(dReader);
excelConnection.Close();
在执行"excelConnection.Open();"行时。我收到一个错误"外部表不是预期的格式。"
而"sample.xlsx"实际上是一个ods格式的文件。我将其格式更改为xlsx。
这个代码有什么问题。请推荐我。
根据评论中的对话,您必须将ODS
文件转换为XLS
或XLSX
格式,而不仅仅是重命名它。您可以使用Excel
或Online tools
来转换ODS
文件。