MESCIUS SPREAD for Windows Forms 17.0J > 開発者ガイド > ファイル入出力 > 保存 > Excelファイルへの保存 |
FpSpreadクラスのSaveExcel メソッドを使用して、データをExcelファイルに保存することができます。このメソッドの引数には、保存するファイルのパスと名前、またはStreamオブジェクトを指定できます。メソッドのオーバーロードにより、他にも指定できる引数があります。
SaveExcelメソッドでは、パラメータとしてExcelSaveFlags列挙体を使用できます。この列挙体は、Excelでデータを保存するために以下の形式を提供します。
Excel ワークブック形式でデータを保存するには、UseOOXMLFormatオプションを使用します。スプレッドシートデータだけではなく、スプレッドシートに加えたすべての設定も一緒にExcelファイルに保存するには、さらにExchangeableオプションを選択する必要があります。Exchangeableオプションを使用すると、ExcelファイルをSpreadにエクスポートおよびインポート(ExcelOpenFlags のExchangeableオプションを使用して)しても、データ全体を保持できます。Exchangeableオプションを使用して保存したファイルは、再度読み込むことでSPREADに保存前の状態を復元することを目的にしています。そのため、再度読み込む前にExcelファイルを上書き保存すると期待動作にならない場合があります。
デフォルトでは、Excelへの保存時、Spreadのデータモデルに保存された内容はすべて、BIFF8形式でファイルまたはストリームに書き込まれます。
1つのワークシートのセル のデータを Excel ファイルに保存する には、ISheet インターフェースの SaveAs メソッドを使用します。このメソッドを使用すると、保存するファイルのパスとファイル名、およびメソッドの要件に基づいて必要となる追加パラメータを指定できます。
次のサンプルコードは、ワークシートのセル データを Excel ファイルに保存します。
C# |
コードのコピー
|
---|---|
// オプションを使用してワークシートを Excel にエクスポートします IWorksheet TestActiveSheet = fpSpread1.AsWorkbook().ActiveSheet; TestActiveSheet.SaveAs("WorksheetToExcel.xlsx", GrapeCity.Spreadsheet.IO.FileFormat.OpenXMLWorkbook, options: ExportOptions.RowHeader); |
VB |
コードのコピー
|
---|---|
' オプションを使用してワークシートを Excel にエクスポートします Dim TestActiveSheet As IWorksheet = fpSpread1.AsWorkbook().ActiveSheet TestActiveSheet.SaveAs("WorksheetToExcel.xlsx", GrapeCity.Spreadsheet.IO.FileFormat.OpenXMLWorkbook, options:=ExportOptions.RowHeader) |
イメージ型セルを含むスプレッドシートをExcelファイルに保存する場合、次のような動作になります。
次のサンプルコードは、引数としてUseOOXMLFormatおよびExchangeableオプションがあるExcelSaveFlags列挙体を持つSaveExcelメソッドを使用して、Spreadデータと、そのすべての設定をExcelファイルに保存します。
C# |
コードのコピー
|
---|---|
// SpreadデータをExcelファイル(.xlsx)に保存します。 fpSpread1.SaveExcel("C:\\excelfile.xlsx", FarPoint.Excel.ExcelSaveFlags.UseOOXMLFormat | FarPoint.Excel.ExcelSaveFlags.Exchangeable); |
VB |
コードのコピー
|
---|---|
' SpreadデータをExcelファイル(.xlsx)に保存します。 fpSpread1.SaveExcel("C:\\excelfile.xlsx", FarPoint.Excel.ExcelSaveFlags.UseOOXMLFormat Or FarPoint.Excel.ExcelSaveFlags.Exchangeable) |
メモ: Excelでは、セルに数値または日付を入力し、列幅がデータを表示するのに十分でない場合、セルは「###」と表示されます。コントロールのデータをExcelファイルに出力する場合、Excelでデータが適切に表示されるように、十分な列幅を設定してください。 |
次のサンプルコードは、SpreadコンポーネントのデータをExcel形式ファイルに保存し、行および列ヘッダが出力されるように指定します。
C# |
コードのコピー
|
---|---|
// データとヘッダをExcel形式ファイルに保存します。 fpSpread1.SaveExcel("C:\\excelfile.xls", FarPoint.Win.Spread.Model.IncludeHeaders.BothCustomOnly); |
VB |
コードのコピー
|
---|---|
' データとヘッダをExcel形式ファイルに保存します。 fpSpread1.SaveExcel("C:\excelfile.xls", FarPoint.Win.Spread.Model.IncludeHeaders.BothCustomOnly) |
ExcelOpenFlags列挙体またはExcelSaveFlags列挙体のDocumentCachingオプション(ドキュメントキャッシュ)を使用すると、ドキュメントを開いて編集、保存するときに高度なドキュメントコンテンツや書式が失われません。内容が失われないのは、開いているファイル形式が保存するファイル形式とよく似ている場合のみです。高度なドキュメントコンテンツでxls(x)ファイルの他のファイルが使用されている場合は、それらの追加ファイルをxls(x)ファイルと同じフォルダーに置いておく必要があります。高度なコンテンツには、マクロ、ActiveXコントロール、データ接続などがあります。
Excelファイルにデータを保存する方法については、「Excel 形式ファイルのインポート/エクスポート」を参照してください。