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

External table is not in the expected format c#

我在谷歌搜索时看到了更多答案,但无法解决我的问题。 这是我编写的用于将 excel sheet 插入 sql 服务器 table.

的代码
        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();" 时。我遇到错误 "External table is not in the expected format."

而"sample.xlsx"其实是一个ods格式的文件。我将其格式更改为 xlsx。

这段代码有什么问题。请建议我。

根据评论中的对话,您必须将 ODS 文件转换为 XLSXLSX 格式,而不仅仅是重命名。您可以使用 ExcelOnline tools 来转换 ODS 个文件。