C#でWindowsアプリケーションを作成し、Excelを一時データベースとして使用しています。Excelデータを読み込むことはできますが、C#を使用してそのファイルのセル値を更新する方法がわかりません。
構造は次のとおりです。
実行終了後にdoneフィールドを更新したいyes
。
C#でWindowsアプリケーションを作成し、Excelを一時データベースとして使用しています。Excelデータを読み込むことはできますが、C#を使用してそのファイルのセル値を更新する方法がわかりません。
構造は次のとおりです。
実行終了後にdoneフィールドを更新したいyes
。
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があなたが始めるのを助けるでしょう。
更新する必要があります
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();