C# 使用OLEDb将数据插入Excel表格

C# 使用OLEDb将数据插入Excel表格,c#,oledbcommand,C#,Oledbcommand,我的代码看起来像 using System.Data.OleDb; namespace ConsoleApplication21 { class Program { static void Main(string[] args) { string constr2 = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Sourc

我的代码看起来像

    using System.Data.OleDb;


    namespace ConsoleApplication21
    {
        class Program
        {
            static void Main(string[] args)
            {
                string constr2 = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\productivity\temp.xlsx;Extended Properties='Excel 8.0;HDR=no'";

            OleDbConnection conn = new OleDbConnection(constr2);
            conn.Open();

            OleDbCommand INSERTcommand = new OleDbCommand();
            INSERTcommand.Connection = conn;
            INSERTcommand.CommandText = "create table [table3] (id INT, name VARCHAR, datecol DATE);";
            INSERTcommand.ExecuteNonQuery();

            OleDbCommand INSERTDATA = new OleDbCommand();
            INSERTDATA.Connection = conn;
            INSERTDATA.CommandText = "INSERT INTO [table3] (id,name,datecol) values (1,'aaaa','25-01-2012');";
            INSERTDATA.ExecuteNonQuery();

        }
    }
}
执行上述代码后,异常显示:

INSERT INTO语句包含以下未知字段名: “id”。确保键入的名称正确,然后尝试 再次手术


如果在插入时忽略列规范,则可以正常工作:


INSERTDATA.CommandText=“插入[table3]值(1,'aaaa','25-01-2012');”

您是否可以省略id列并检查其余部分是否有效?也可以像使用tablename一样使用括号进行检查<代码>插入到[表3]([id]、[name]、…)值中我省略了id列,但仍然存在相同的问题,而且我尝试了([id]、[name]、…)也不工作,并且
“创建表[table3](id INT…
工作无误?是”创建表[table3]…工作有误你检查过这个答案吗?@Saher