LoginSignup
3
4

More than 5 years have passed since last update.

Visual Studio 2015 でチャートコントロールと Excel データをバインド

Posted at

標準 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 を選択し、メニューからプロジェクトデータソースの追加を選択します。

fig4_01.png

2.出てくるデータソース構成ウィザードで データベース -> データセット を選択します。

3.データ接続ステップで、「新しい接続」をクリックします。

4.データ接続の選択ダイアログで、「変更」をクリックして、CData Excel データソースを選択して、接続プロパティを入力します。参照先のExcelファイルのパスを設定します。

fig4_02.png

5.使用するデータソースオブジェクトを選択します。例は Temp テーブルです。

fig4_03.png

データバインド

データソースの追加とデータベースオブジェクトを選択したら、チャートにオブジェクトをバインドします。この例では、X軸に 年月 をY軸に 平均気温(℃) を設定します。

fig4_04.png

チャートはこれで Excel データにデータバインドされました。チャートを実行して最新のデータを表示させましょう。

fig4_05.png

コード Walk-through

Excel データへのデータバインドはほんの数行のコードのみが必要で、3つの簡単なステップで完了できます。

  1. Excel に接続します。
  2. ExcelDataAdapter を作成して、クエリを作成し、結果を入れるデータセットを作成します。
  3. 結果セットとチャートをデータバインドします。

下に完全なコードを示します。

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();
3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4