FlexGrid for WinForms
保存
保存、ロード、印刷 > 保存

FlexGrid には、テキスト、Excel、XML、画像形式などの目的の形式でグリッドを保存するためのさまざまなメソッドが用意されています。この機能は、C1.Win.C1FlexGrid.ImportExport.dll という名前のアセンブリを通じて有効になります。したがって、グリッドを保存するには、このアセンブリへの参照を追加する必要があります。

テキストファイルとして保存

グリッドのコンテンツをテキストファイルとして保存するには、Extensions クラスの SaveGrid メソッドを使用します。このメソッドには、区切り文字やエンコードなどを選択するパラメータや、グリッドのどの部分を保存するかを指定するパラメータがあります。生成されたテキストファイルは、後からコントロールにロードし直したり、カンマ区切りやタブ区切りファイルをサポートしている Microsoft Excel などのアプリケーションにロードし直すことができます。

次のコードは、WinForms FlexGrid のコンテンツをテキストファイルとして保存する方法を示します。

private void btnSaveTxt_Click(object sender, EventArgs e)
{
    c1FlexGrid1.SaveGrid("../../ExportedGrid.txt", FileFormatEnum.TextComma, FileFlags.AsDisplayed | FileFlags.IncludeFixedCells);
}
Private Sub btnSaveTxt_Click(ByVal sender As Object, ByVal e As EventArgs)
    c1FlexGrid1.SaveGrid("../../ExportedGrid.txt", FileFormatEnum.TextComma, FileFlags.AsDisplayed Or FileFlags.IncludeFixedCells)
End Sub

Excel ファイルとして保存

グリッドを Excel ファイルとして保存するには、前述の SaveGrid メソッドを使用し、FileFormatEnum.Excel に書式パラメータを設定します。コンピュータに Microsoft Excel をインストールしておく必要はありません。ただし、SaveGrid メソッドは、1 つのワークブックの 1 つのワークシートにしかデータを保存できません。

Excel ファイルにデータを保存する際に、さらに詳細な制御を行うには、代わりに SaveExcel メソッドを使用します。このメソッドで Excel ファイルを保存すると、行や列のサイズ、フォント、色、書式、セルの配置など、ほとんどのデータ型と書式設定情報が変換されます。ただし、固定セル、結合セル、画像、データマップ、セル境界線などの機能は、Excel ファイルへの変換時に変換されません。

WinForms FlexGrid を Excel ファイルとして保存するには、次のコードを使用します。

private void btnSaveExcl_Click(object sender, EventArgs e)
{
    c1FlexGrid1.SaveExcel("../../ExportedGrid.xlsx",  FileFlags.AsDisplayed | FileFlags.IncludeFixedCells);
}
Private Sub btnSaveExcl_Click(ByVal sender As Object, ByVal e As EventArgs)
    c1FlexGrid1.SaveExcel("../../ExportedGrid.xlsx", FileFlags.AsDisplayed Or FileFlags.IncludeFixedCells)
End Sub

XML として保存

グリッドのコンテンツを XML ドキュメントにシリアライズするには、C1FlexGrid クラスの WriteXML メソッドを呼び出し、XML ドキュメントのパスをパラメータとして渡します。このメソッドは、グリッドのすべてのコンテンツ(セルに格納されたデータ、行と列のプロパティ、スタイル、画像など)を XML ドキュメントにシリアライズします。独自の型のオブジェクトがグリッドに格納されている場合も、文字列との変換を提供する System.ComponentModel.TypeConverter を持つならシリアライズされます。

次のコードは、WinForms FlexGrid のコンテンツを XML ドキュメントに保存する方法を示しています。

private void btnSaveXML_Click(object sender, EventArgs e)
{
    c1FlexGrid1.WriteXml("../../ExportedGrid.xml");
}
Private Sub btnSaveXML_Click(ByVal sender As Object, ByVal e As EventArgs)
    c1FlexGrid1.WriteXml("../../ExportedGrid.xml")
End Sub

画像として保存

グリッドを画像として保存するには、C1FlexGrid クラスの CreateImage メソッドを使用してグリッド画像を作成し、指定したパスにその画像オブジェクトを保存します。セル範囲を指定したり、セル範囲オブジェクトをパラメータとして渡すことで、グリッドの特定の部分を画像として保存することもできます。

WinForms FlexGrid を画像として保存するには、次のコードを使用します。

private void btnSaveImg_Click(object sender, EventArgs e)
{
    Image gridImage = c1FlexGrid1.CreateImage();
    gridImage.Save("../../ExportedGrid.png");
}
Private Sub btnSaveImg_Click(ByVal sender As Object, ByVal e As EventArgs)
    Dim gridImaage As Image = c1FlexGrid1.CreateImage()
    gridImaage.Save("../../ExportedGrid.png")
End Sub
関連トピック