1

// 例如,我想在第一行插入 3 列,在其余行中插入 10 列 //我正在创建工作表名称为 MySheet 的 excel 文件 // 然后更新第一行中的值,标题的第一个单元格为空白//然后插入数据//任何人都可以帮助在没有标题的excel中插入数据

string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName +
    ";Mode=ReadWrite;Extended Properties=\"Excel 12.0 XML;HDR=NO\"";

    using (OleDbConnection conn = new OleDbConnection(connectionString))
    {
    conn.Open();

    using (OleDbCommand cmd = new OleDbCommand())
    {
        cmd.Connection = conn;
        cmd.CommandText = "CREATE TABLE [MySheet] (a string)";
        cmd.ExecuteNonQuery();

        cmd.CommandText = "UPDATE [MySheet$] SET F1 = \"\"";
        cmd.ExecuteNonQuery();

        cmd.CommandText = "INSERT INTO  [MySheet] (a) values ('ABC')" //<-----Getting error to insert
        cmd.ExecuteNonQuery();
    }
}
    conn.Close();
4

2 回答 2

2

试试[去掉(a)]

cmd.CommandText = "INSERT INTO  [MySheet] values ('ABC')"; 
于 2013-05-10T11:24:52.217 回答
0

我犯了同样的错误。Excel 中有一个填充空格结尾的列名。从列名末尾删除该空格解决了该问题。

于 2016-08-08T19:20:25.333 回答