MESCIUS SPREAD for Windows Forms 17.0J サンプルコード集
Excelファイルへのエクスポート

MESCIUS SPREAD for Windows Forms 17.0J サンプルコード集 > インポート/エクスポート > Excelファイルへのエクスポート

FpSpreadクラスのSaveExcelメソッド(オーバーロード形式)呼び出しにより、各シート情報をExcelファイル(xls形式またはxlsx形式)でエクスポート(出力)させることができます。

但し、当機能はフォーム上のスプレッドシートのデータや書式を元の状態のまま最大限維持して処理することを目的としているため、必ずしもシート上の全ての内容が完全に保存されるとは限りません。例えばSPREADでは各セルに背景画像を設定することができますが、 Excelには同等の機能が存在しないため、結果的に背景画像はエクスポートされません。

このように、SPREADにてExcelファイルを扱う場合には幾つかの制限事項が存在することや、あらかじめその機能仕様を十分に把握しておく必要もあります。詳細については下記「メモ」や、SPREAD上の各設定がどのようにエクスポートされるかについてはインポート/エクスポートリファレンスもあわせてご参照ください。

【実行例】

SPREAD

出力されたExcel形式ファイル

Excel


 private void Form1_Load(object sender, System.EventArgs e)
 {

   fpSpread1.ActiveSheet.RowCount = 5;
   fpSpread1.ActiveSheet.ColumnCount = 5;
   fpSpread1.ActiveSheet.Rows[0].BackColor = Color.LemonChiffon;
   fpSpread1.ActiveSheet.Rows[1].BackColor = Color.LightCyan;
   fpSpread1.ActiveSheet.Rows[2].BackColor = Color.LightPink;
   fpSpread1.ActiveSheet.Rows[3].BackColor = Color.LightGreen;
   fpSpread1.ActiveSheet.Rows[4].BackColor = Color.LightCoral;

   fpSpread1.ActiveSheet.Rows[0].Label = "行1";
   fpSpread1.ActiveSheet.Rows[1].Label = "行2";
   fpSpread1.ActiveSheet.Rows[2].Label = "行3";
   fpSpread1.ActiveSheet.Rows[3].Label = "行4";
   fpSpread1.ActiveSheet.Rows[4].Label = "行5";

   fpSpread1.ActiveSheet.Columns[0].Label = "列1";
   fpSpread1.ActiveSheet.Columns[1].Label = "列2";
   fpSpread1.ActiveSheet.Columns[2].Label = "列3";
   fpSpread1.ActiveSheet.Columns[3].Label = "列4";
   fpSpread1.ActiveSheet.Columns[4].Label = "列5";

   FarPoint.Win.Spread.Model.CellRange cr = new FarPoint.Win.Spread.Model.CellRange(1, 1, 3, 3);
   fpSpread1.ActiveSheet.SetOutlineBorder(cr, new FarPoint.Win.LineBorder(Color.Blue, 2));

   fpSpread1.ActiveSheet.Columns[0].Font = new Font("Arial", 12, FontStyle.Bold | FontStyle.Italic);
   fpSpread1.ActiveSheet.Columns[0].ForeColor = Color.Blue;
   fpSpread1.ActiveSheet.Columns[0].CellType = new FarPoint.Win.Spread.CellType.TextCellType();
   fpSpread1.ActiveSheet.SetText(0, 0, "Excel");
   fpSpread1.ActiveSheet.AddSpanCell(4, 0, 1, 2);
   fpSpread1.ActiveSheet.SetText(4, 0, "SPREAD for .NET");

   fpSpread1.ActiveSheet.Columns[1].CellType = new FarPoint.Win.Spread.CellType.DateTimeCellType();
   fpSpread1.ActiveSheet.SetColumnWidth(1, 90);
   fpSpread1.ActiveSheet.AddSpanCell(1, 1, 2, 1);
   fpSpread1.ActiveSheet.SetValue(1, 1, new DateTime(2015, 6, 15));

   FarPoint.Win.Spread.CellType.NumberCellType n = new FarPoint.Win.Spread.CellType.NumberCellType();
   n.DecimalPlaces = 4;
   fpSpread1.ActiveSheet.Columns[2].CellType = n;
   fpSpread1.ActiveSheet.SetValue(2, 2, 123.45);

   fpSpread1.ActiveSheet.Columns[3].CellType = new FarPoint.Win.Spread.CellType.CheckBoxCellType();
   fpSpread1.ActiveSheet.SetValue(3, 3, true);

   FarPoint.Win.Spread.CellType.ComboBoxCellType c = new FarPoint.Win.Spread.CellType.ComboBoxCellType();
   c.Items = new String[] {"aaa", "bbb", "ccc"};
   c.EditorValue = FarPoint.Win.Spread.CellType.EditorValue.Index;
   fpSpread1.ActiveSheet.Columns[4].CellType = c;
   fpSpread1.ActiveSheet.SetValue(4, 4, 1);

   fpSpread1.ActiveSheet.SheetName = "エクスポートされたシート";

 }

 private void button1_Click(object sender, System.EventArgs e)
 {

   //xlsx形式ファイルをエクスポートします
   fpSpread1.SaveExcel("保存ファイルパス名.xlsx", FarPoint.Excel.ExcelSaveFlags.UseOOXMLFormat | FarPoint.Excel.ExcelSaveFlags.Exchangeable);

 }
 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load

   FpSpread1.ActiveSheet.RowCount = 5
   FpSpread1.ActiveSheet.ColumnCount = 5
   FpSpread1.ActiveSheet.Rows(0).BackColor = Color.LemonChiffon
   FpSpread1.ActiveSheet.Rows(1).BackColor = Color.LightCyan
   FpSpread1.ActiveSheet.Rows(2).BackColor = Color.LightPink
   FpSpread1.ActiveSheet.Rows(3).BackColor = Color.LightGreen
   FpSpread1.ActiveSheet.Rows(4).BackColor = Color.LightCoral

   FpSpread1.ActiveSheet.Rows(0).Label = "行1"
   FpSpread1.ActiveSheet.Rows(1).Label = "行2"
   FpSpread1.ActiveSheet.Rows(2).Label = "行3"
   FpSpread1.ActiveSheet.Rows(3).Label = "行4"
   FpSpread1.ActiveSheet.Rows(4).Label = "行5"

   FpSpread1.ActiveSheet.Columns(0).Label = "列1"
   FpSpread1.ActiveSheet.Columns(1).Label = "列2"
   FpSpread1.ActiveSheet.Columns(2).Label = "列3"
   FpSpread1.ActiveSheet.Columns(3).Label = "列4"
   FpSpread1.ActiveSheet.Columns(4).Label = "列5"

   Dim cr As New FarPoint.Win.Spread.Model.CellRange(1, 1, 3, 3)
   FpSpread1.ActiveSheet.SetOutlineBorder(cr, New FarPoint.Win.LineBorder(Color.Blue, 2))

   FpSpread1.ActiveSheet.Columns(0).Font = New Font("Arial", 12, FontStyle.Bold Or FontStyle.Italic)
   FpSpread1.ActiveSheet.Columns(0).ForeColor = Color.Blue
   FpSpread1.ActiveSheet.Columns(0).CellType = New FarPoint.Win.Spread.CellType.TextCellType
   FpSpread1.ActiveSheet.SetText(0, 0, "Excel")
   FpSpread1.ActiveSheet.AddSpanCell(4, 0, 1, 2)
   FpSpread1.ActiveSheet.SetText(4, 0, "SPREAD for .NET")

   FpSpread1.ActiveSheet.Columns(1).CellType = New FarPoint.Win.Spread.CellType.DateTimeCellType
   FpSpread1.ActiveSheet.SetColumnWidth(1, 90)
   FpSpread1.ActiveSheet.AddSpanCell(1, 1, 2, 1)
   FpSpread1.ActiveSheet.SetValue(1, 1, New DateTime(2015, 6, 15))

   Dim n As New FarPoint.Win.Spread.CellType.NumberCellType
   n.DecimalPlaces = 4
   FpSpread1.ActiveSheet.Columns(2).CellType = n
   FpSpread1.ActiveSheet.SetValue(2, 2, 123.45)

   FpSpread1.ActiveSheet.Columns(3).CellType = New FarPoint.Win.Spread.CellType.CheckBoxCellType
   FpSpread1.ActiveSheet.SetValue(3, 3, True)

   Dim c As New FarPoint.Win.Spread.CellType.ComboBoxCellType
   c.Items = New String() {"aaa", "bbb", "ccc"}
   c.EditorValue = FarPoint.Win.Spread.CellType.EditorValue.Index
   FpSpread1.ActiveSheet.Columns(4).CellType = c
   FpSpread1.ActiveSheet.SetValue(4, 4, 1)

   FpSpread1.ActiveSheet.SheetName = "エクスポートされたシート"

 End Sub

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

   'xlsx形式ファイルをエクスポートします
   FpSpread1.SaveExcel("保存ファイルパス名.xlsx", FarPoint.Excel.ExcelSaveFlags.UseOOXMLFormat Or FarPoint.Excel.ExcelSaveFlags.Exchangeable)

 End Sub