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 に答える