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

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

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

グリッドのコンテンツをテキストファイルとして保存するには、Extensions クラスの SaveGrid メソッドを使用します。このメソッドには、区切り文字やエンコードなどを選択するパラメータや、グリッドのどの部分を保存するかを指定するパラメータがあります。It allows you to specify the file format for saving the grid content using the FileFormatEnum parameter and provides various options for saving the different ranges or selections from the grid to a text file through the FileFlags parameter.

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

Options Description
AsDisplayed Saves values as displayed.
IncludeFixedCells Includes fixed cells when loading or saving the grid.
SelectedRangesOnly Saves only selected ranges. The selected range must lie within a common row or column range.
SelectedRowsOnly Saves only selected rows.
VisibleOnly Saves visible rows and columns only.

The resulting text files can later be loaded back into the control, or into other applications that support comma or tab-delimited files such as Microsoft Excel.

Following code shows how to save content of the WinForms FlexGrid as a text file.

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 メソッドを使用します。Just like the SaveGrid method, the SaveExcel method also has similar parameters that allow you to specify the file location and which portion of the grid to be saved. The FileFlags parameter lets you save different ranges and selections from the grid to an Excel file by providing the following options.

Options Description
AsDisplayed Saves values as displayed.
ExcludeEmptyRows Excludes empty rows when exporting.
IncludeFixedCells Includes fixed cells when loading or saving the grid.
IncludeMergedRanges Saves merged ranges when exporting to Excel.
NoFreezing Does not freeze rows and columns when exporting to excel.
Outline Saves nodes as Excel groups when exporting to Excel.
SaveMergedRanges Saves merged ranges when exporting to Excel.
SelectedRangesOnly Saves only selected ranges. The selected range must lie within a common row or column range.
SelectedRowsOnly Saves only selected rows.
VisibleOnly Saves visible rows and columns only.

In this case, the process of saving excel files converts most data types and formatting information, including row and column dimensions, fonts, colors, formats, and cell alignment. However, some other features such as frozen and merged cells, images, data maps, and cell borders are not translated while converting to an excel file.

Use the code below to save the WinForms FlexGrid as an Excel file.

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 として保存

To serialize grid contents into an XML document, you can simply call WriteXml method of the C1FlexGrid class and parse path of the XML document as a parameter  along with the choice of the FlexGrid element to be saved using XmlOptions enumeration. Using XmlOptions parameter, you can save ColumnInfo, RowInfo, Ranges, Control, Styles, Maps, Tree, Glyphs, and Images as XML.

Objects of custom types stored in the grid are also serialized as long as they have an associated System.ComponentModel.TypeConverter that provides conversions to and from string.

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

private void btnWriteXML_Click(object sender, EventArgs e)
{
    c1FlexGrid1.WriteXml("ExportedGrid.xml", XmlOptions.All);
}
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
関連トピック