外部表的格式不是预期的c#



我在谷歌上看到了更多的答案,但无法解决我的问题。这是我为将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文件转换为XLSXLSX格式,而不仅仅是重命名它。您可以使用ExcelOnline tools来转换ODS文件。

相关内容

  • 没有找到相关文章

最新更新