2012-04-19 16 views
0

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

構造は次のとおりです。

enter image description here

私は実行を終了した後、yesに行ってフィールドを更新します。

+1

あなたはOpenXMLのライブラリを見てする必要があるとしています。なぜExcelを一時データベースとして使用していますか?より良い選択肢があるかもしれません。何らかの理由でExcelを使用する必要がありますか? – Trent

+1

@TrentなぜOpenXMLを使うの?彼はそのようにエクセルファイルを使うつもりはない。彼はそれをデータソースに使用して、ドキュメントマークアップに変更を加えたくない。 – emd

+0

@emd - oh ...良い点。私は最近、OpenXMLを脳に持ってきました。もう1杯のコーヒーを買うよ。 – Trent

答えて

1

私はそれがされる

Extended Properties=HDR=YES; 

Extended Properties=HDR=NO; IMEX=1 

を更新する必要があります。

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(); 
1

エクセルを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の場合は、お手伝いします。

+0

セルの値を更新して選択しません。 –

+0

@VishalSuthar私はあなたのためにそれを更新しました。私の意図は、ExcelがOLEDBソースとして使用されている場合、ExcelがExcelファイルを照会するために標準のSQLが機能することを示すことでした。 – emd

関連する問題