0

C#でWindowsアプリケーションを作成し、Excelを一時データベースとして使用しています。Excelデータを読み込むことはできますが、C#を使用してそのファイルのセル値を更新する方法がわかりません。

構造は次のとおりです。

ここに画像の説明を入力してください

実行終了後にdoneフィールドを更新したいyes

4

2 に答える 2

1

ExcelをOLEDBデータソースとして使用している場合は、データベースの場合と同じようにSQLを使用します。クエリは次のようになります。

SELECT [Column Name One], [Column Name Two] FROM [Sheet One$]

あなたの場合

UPDATE [Sheet One$]
SET [column1]=value, [done]='yes'
WHERE [some_column]=some_value

周りを見回すのにもっと助けが必要な場合は、これに関するたくさんの情報が利用可能です。たぶんhttp://www.codeproject.com/Articles/8500/Reading-and-Writing-Excel-using-OLEDBがあなたが始めるのを助けるでしょう。

于 2012-04-19T12:47:52.980 に答える
1

更新する必要があります

Extended Properties=HDR=NO; IMEX=1

Extended Properties=HDR=YES;

したがって、次のようになります。

connString = "Provider=Microsoft.Jet.OLEDB.4.0;Excel 8.0; Extended Properties=HDR=YES;Data Source=" + Directory.GetCurrentDirectory() + "/swtlist.xls";

OleDbConnection oledbConn = new OleDbConnection(connString);

oledbConn.Open();
DataTable dt = oledbConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);

OleDbCommand cmd = new OleDbCommand("UPDATE [Sheet1$] SET done='yes' where id=1", oledbConn);

cmd.ExecuteNonQuery();
于 2012-05-02T14:05:18.570 に答える