Excelファイルエクスポート機能を組み合わせる
見た目を変えたところで、今度は新機能を追加していきましょう。
通常の業務アプリケーションの場合、ユーザーの要望に多いのが、データをファイルで出力したいというものです。よく使われるExcel形式でのファイル出力機能をつけてみたいと思います。
まず、RibbonButtonのイベントを追加します。イベントを追加するには、通常のButtonコントロールと同様に対象のRibbonButtonをダブルクリックします。ここでは、先ほど作成したファイルタブExcelグループの「出力」ボタンを使います。
Excelファイルでのエクスポート機能は、FlexGridの機能を使います。FlexGridのデータをExcelのファイル形式で出力するには、次のようなプログラムを実行します。
this.c1FlexGrid1.SaveExcel("ファイル名称", "シート名称", "出力形式のオプション");
指定したシートに、FlexGridのデータが出力されます。今回の売上管理アプリケーションでは、固定行(見出し行)、固定列(見出し列)が存在します。固定セルをExcelファイルに出力するために、出力形式のオプションには、FileFlags.IncludeFixedCellsを指定します。
実際にExcelを開いてみましょう。固定セルの部分で、ウィンドウ枠が固定されているのが分かると思います。
XMLファイルインポート・エクスポート機能を組み合わせる
FlexGridのデータをXMLファイルに出力し、データを読み込んでみる
先ほどは、Excelファイルの形式でFlexGridのデータを出力しました。しかし、Excelファイルの場合、ユーザー側での再利用性は確保されると思いますが、システム(プログラム)での再利用性が乏しくなってしまいます。そこで、XML形式でのファイル出力機能を追加してみましょう。
ここでもツールバーのボタンにイベントを登録します。使用するボタンはファイルタブXMLグループの「エクスポート」ボタンです。FlexGridのデータをXMLファイルで出力するには、次のようなプログラムを実行します。
this.c1FlexGrid1.WriteXml("ファイル名称");
たった、1行のプログラムだけでXMLファイルが出力できます。
今度は先ほど出力したXMLデータを読み込んでみましょう。XMLファイルを読み込み、FlexGridにデータを貼り付けるには、次のようなプログラムを実行します。使用するボタンはXMLグループの「インポート」ボタンです。
this.c1FlexGrid1.ReadXml("ファイル名称");
ファイル出力と同様に、1行のプログラムで実行できます。
読み込んだ結果はどうでしょうか? 背景色なども忠実に再現されているのが分かるかと思います。このように、XML形式のデータで出力した場合、フォントや背景色などさまざまな情報までファイルに出力されていることが分かるかと思います。