【问题标题】:"Too Many Fields Defined" error“定义的字段过多”错误
【发布时间】:2015-09-12 02:22:59
【问题描述】:

不知道为什么我会收到 "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();
}

我错过了什么吗?

【问题讨论】:

    标签: c# excel oledb


    【解决方案1】:

    哦,孩子。只需将文件扩展名更改为 xlsx 即可。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-02
      • 1970-01-01
      • 1970-01-01
      • 2016-02-18
      • 1970-01-01
      • 2014-02-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多