標準 ADO.NET プロシージャを使ってデータバインドして、Visual Studio ツールボックスのコントロールから Excel データとの双方向接続を実現。この記事ではVisual Studio のグラフィカルアプローチと、ほんの数行のコードでデータバインドをする方法を説明します。
データバインドによって、UI コントロールからデータに接続できます。 CData ADO.NET Provider for Excel を使って、Visual Studio 上で Windows Forms および Web Forms とExcel データをデータバインドできます。この記事では、ウィザードから変更をライブで反映するチャートにExcel データをデータバインドする方法を説明します。 コードWalk-through セクションではチャートをほんの数行のコードで作成します。
#チャートへのデータバインド
データバインドは3つのステップから構成されます。コントロールのインスタンス作成、データソースの設定、データバインドです。
#接続を設定してデータベースオブジェクトを選択
下の手続きにより、データソース構成ウィザードを使ってチャートコントロールと Excel との接続を作成します。ウィザード上でデータバインドをする Excel エンティティを使います。
1.Windowsフォームアプリケーションプロジェクトで、チャートコントロールをツールボックスからフォーム上にドラッグ&ドロップします。チャートプロパティのデータセクションで DataSource を選択し、メニューからプロジェクトデータソースの追加を選択します。
2.出てくるデータソース構成ウィザードで データベース -> データセット を選択します。
3.データ接続ステップで、「新しい接続」をクリックします。
4.データ接続の選択ダイアログで、「変更」をクリックして、CData Excel データソースを選択して、接続プロパティを入力します。参照先のExcelファイルのパスを設定します。
5.使用するデータソースオブジェクトを選択します。例は Temp テーブルです。
#データバインド
データソースの追加とデータベースオブジェクトを選択したら、チャートにオブジェクトをバインドします。この例では、X軸に 年月 をY軸に 平均気温(℃) を設定します。
チャートはこれで Excel データにデータバインドされました。チャートを実行して最新のデータを表示させましょう。
#コード Walk-through
Excel データへのデータバインドはほんの数行のコードのみが必要で、3つの簡単なステップで完了できます。
- Excel に接続します。
- ExcelDataAdapter を作成して、クエリを作成し、結果を入れるデータセットを作成します。
- 結果セットとチャートをデータバインドします。
下に完全なコードを示します。
ExcelConnection conn = new ExcelConnection("Excel File='C:\\temp\\temp.xlsx';");
ExcelCommand command = new ExcelCommand("SELECT * FROM Temp", conn);
ExcelDataAdapter da = new ExcelDataAdapter(command);
DataSet ds = new DataSet();
da.Fill(ds);
chart2.DataSource = ds;
chart2.Series[0].XValueMember = "年月";
chart2.Series[0].YValueMembers = "平均気温(℃)";
chart2.DataBind();