【发布时间】: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();
}
我错过了什么吗?
【问题讨论】: