Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

ComponentOne Studio for WPFでアプリケーションからExcelを取り扱う

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2017/03/03 14:00
目次

Excel形式でファイルを保存する

 C1Excelを用いて、Excel形式のファイルを出力する方法を紹介します。

Excel形式での保存方法

 まずはシンプルにセルに数字を入力したExcelファイルを保存します。

参照の追加

 ソリューションエクスプローラーの「参照」を右クリック→「参照の追加」をクリックします。

参照の追加
参照の追加

 左ナビの「アセンブリ」→「拡張」から「C1.WPF.Excel JPN」にチェックを入れ、右下の「OK」をクリックします。

C1.WPF.Excel JPNの追加
C1.WPF.Excel JPNの追加

usingの追加

 MainWindow.xaml.csに以下のusingを追加します。

usingの追加
using C1.WPF.Excel;

処理の記述

 アプリケーションの起動時にExcel形式のファイルを保存します。

 MainWindow.xaml.csのコンストラクタに以下のように処理を記述します。

Excelファイルの保存処理
public MainWindow()
{
    InitializeComponent();

    // C1XLBookがExcelブックを表すクラス
    C1XLBook book = new C1XLBook();

    // XLSheetがExcelのシートを表す
    XLSheet sheet = book.Sheets[0];

    // 1行目の1から3列目に値を設定する
    sheet[0, 0].Value = 1;
    sheet[0, 1].Value = 2;
    sheet[0, 2].Value = 3;

    // 保存する
    book.Save(@"C:\<ドキュメントフォルダのパス>\excel.xls");
}

 保存するファイルのパスはご自分の環境のドキュメントフォルダを指定してください。

 アプリケーションをデバッグ実行すると、ドキュメントフォルダにexcel.xlsファイルが作成されます。

生成されたExcelファイルを開いた
生成されたExcelファイルを開いた

セルの書式を設定する

 セルに書式を設定してみます。

 セルの書式設定にはXLSheetクラスを用います。

セルに書式を設定する
public MainWindow()
{
    InitializeComponent();

    // C1XLBookがExcelブックを表すクラス
    C1XLBook book = new C1XLBook();

    // XLSheetがExcelのシートを表す
    XLSheet sheet = book.Sheets[0];

    // 1行目の1から3列目に値を設定する
    sheet[0, 0].Value = 1;
    sheet[0, 1].Value = 2;
    sheet[0, 2].Value = 3;

    // スタイルを設定する
    XLStyle style = new XLStyle(book);

    // 文字色を青色に
    style.ForeColor = Colors.Blue;

    sheet[0, 1].Style = style;

    // 保存する
    book.Save(@"C:\<ドキュメントフォルダのパス>\excel.xls");
}
スタイルを変更する
スタイルを変更する

数式を扱う

 セルに式を用いることもできます。

セルに式を用いる
public MainWindow()
{
    InitializeComponent();

    // C1XLBookがExcelブックを表すクラス
    C1XLBook book = new C1XLBook();

    // XLSheetがExcelのシートを表す
    XLSheet sheet = book.Sheets[0];

    // 1行目の1から3列目に値を設定する
    sheet[0, 0].Value = 1;
    sheet[0, 1].Value = 2;
    sheet[0, 2].Value = 3;

    // スタイルを設定する
    XLStyle style = new XLStyle(book);
    style.ForeColor = Colors.Blue;

    sheet[0, 1].Style = style;

    // 式を用いる
    // 1行目の1から3列のSUM(合計)を4列目に求める
    sheet[0, 3].Formula = "SUM(A1: C1)";

    // 保存する
    book.Save(@"C:\<ドキュメントフォルダのパス>\excel.xls");
}
数式を利用する(4列目がSUMの値)
数式を利用する(4列目がSUMの値)

画像の表示

 セルに画像を指定することもできます。

セルに画像を指定する
public MainWindow()
{
    InitializeComponent();

    // C1XLBookがExcelブックを表すクラス
    C1XLBook book = new C1XLBook();

    // XLSheetがExcelのシートを表す
    XLSheet sheet = book.Sheets[0];

    // 1行目の1から3列目に値を設定する
    sheet[0, 0].Value = 1;
    sheet[0, 1].Value = 2;
    sheet[0, 2].Value = 3;

    // スタイルを設定する
    XLStyle style = new XLStyle(book);
    style.ForeColor = Colors.Blue;

    sheet[0, 1].Style = style;

    // 式を用いる
    // 1行目の1から3列のSUM(合計)を4列目に求める
    sheet[0, 3].Formula = "SUM(A1: C1)";

    // 画像を設定する
    // プロジェクトにicon.pngというファイルが含まれている
    WriteableBitmap img = new WriteableBitmap(new BitmapImage(new Uri("icon.png", UriKind.Relative)));
    sheet[1, 0].Value = img;

    // 保存する
    book.Save(@"C:\<ドキュメントフォルダのパス>\excel.xls");
}

 C1XLBookクラスのValueプロパティには、このように画像を指定することもできます。

セルに画像を指定する
セルに画像を指定する

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 西村 誠(ニシムラ マコト)

     Microsoft MVP Windows Platform Development。  Flash、PHPの開発経験もあり国産ECサイト構築フレームワーク「EC-CUBE」の公式エバンジェリストでもある。  ブログ:眠るシーラカンスと水底のプログラマー  著書:基礎から学ぶ Windows...

バックナンバー

連載:ComponentZine(ComponentOne Studio)

もっと読む

All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5