4
string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\\a.xlsx" + ";Extended Properties='Excel 12.0 Xml;HDR=No'";
        OleDbConnection conn = new OleDbConnection(connString);
        OleDbCommand cmd = new OleDbCommand("Update [tablenameeee$] SET A1='15'", conn);
        conn.Open();
        cmd.ExecuteNonQuery();
        conn.Close();

Excelの特定のセルにアクセスし、その値を変更したい。しかし、私は例外を得ました

OleDbException。1つ以上の必須パラメーターに値が指定されていません。解決策は何ですか。

4

2 に答える 2

3

HDR = NOを使用する場合、列名はF1、F2F3などです......

OleDbCommand cmd = new OleDbCommand("Update [tablenameeee$] SET F1='15'", conn); 

ただし、影響を受ける行を区切るには、WHERE句を指定する必要があると思います。
覚えておいてください。OleDbを使用すると、行/列ではなく、レコードの観点から考える必要があります。

別の方法として、更新する行/列が正確にわかっている場合は、次を使用できます。

OleDbCommand cmd = new OleDbCommand("Update [tablenameeee$A1:A1] SET F1='15'", conn); 
于 2012-09-05T15:21:10.600 に答える
0

たぶん、where句が必要です

Update [tablenameeee$] set [F1] = 15 where [F2] = 3

または、特定の1つのセルにアクセスする必要があり、それがどのセルであるかがわかっている場合、Steveのソリューションは手袋のようにフィットします。

于 2012-10-29T16:00:06.333 に答える