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);

 }