"Too Many Fields Defined"错误



不知道为什么我得到"Too Many Fields Defined"错误,即使我只是试图在其中创建6列的Excel表。我认为限制是255列。

我的代码是这样的:

using (OleDbConnection conn = new 
OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\MyFile.xls;Extended Properties='Excel 12.0 Xml;HDR=Yes'"))
{
    conn.Open();
        var schema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });
        OleDbCommand cmd = new OleDbCommand();
    cmd.Connection = conn;
        cmd.CommandType = CommandType.Text;
    if (schema.Rows.OfType<DataRow>().Any(r => r.ItemArray[2].ToString().ToLower() == "sheet1"))
        {
                    cmd .CommandText = "DROP TABLE [Sheet1]";
                    cmd.ExecuteNonQuery();
                }
    cmd.CommandText = "CREATE TABLE [Sheet1] ([C1] string, [C2] string, [C3] string, [C4] string, [C5] string, [C6] string)";
    cmd.ExecuteNonQuery();
}

我错过了什么吗?

天哪。刚将文件扩展名更改为xlsx,现在可以工作了。

OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\MyFile.xlsx;Extended Properties='Excel 12.0 Xml;HDR=Yes'"))

相关内容

最新更新