我在谷歌搜索时看到了更多的答案,但无法解决我的问题。 这是我编写的将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();
执行第34行" excelConnection.Open();"。我收到错误"外部表格不符合预期的格式。"
&& 34; sample.xlsx"实际上是一个ods格式文件。我将其格式更改为xlsx。
此代码会出现什么问题。请建议我。
答案 0 :(得分:0)
根据评论中的对话,您必须将ODS
文件转换为XLS
或XLSX
格式,而不仅仅是重命名。您可以使用Excel
或Online tools
转换ODS
个文件。