製品の特徴

ExcelCreator for Java の製品の特徴をご紹介します。

さまざまなアプリケーションに対応した Excel ファイル生成機能

ExcelCreator for Java は、次の Excel ファイル生成機能を提供します。

Excel ファイルを新規生成
プログラムから Excel ファイル(xlsx 形式)を新規に生成することができます。

既存の Excel ファイルをオープン
プログラムから Excel ファイルをオープンし、セルの値の読み取りや、セルに値や書式を設定して上書き保存することができます。セルの値の読み取りのみを行う場合、読み取り専用でオープンすることもできます。

オーバーレイオープン
Excel であらかじめ罫線などの枠組み(テンプレート)だけを設定しておき、プログラムからはテンプレートに対してデータだけを設定して別の Excel ファイルに保存する機能です。テンプレートはエンドユーザーが作成することもできるので、ニーズに合った開発ができます。また、オーバーレイオープンに使用するテンプレートの Excel ファイルは、プログラムに埋め込んで使用することもできます。

PDF / HTML ファイル出力に対応New!

Excel ファイルの内容を PDF ファイルや HTML として出力する機能を追加。
Excel でレイアウトを作成し、Windows や Linux のサーバーに配置した Web アプリケーションで値を差し込んで PDF ファイルに出力したものをブラウザで表示・印刷することで、帳票機能を実装することができます。
また、HTML ファイル機能を使えば、Excel ファイルの内容を Web ページとして閲覧のみを行いたい場合など、Excel をベースとしたアプリケーション開発の可能性を広げます。


PDF / HTML 出力は追加アップデート対応の機能となります。詳細はこちらをご確認ください。

Excel ファイルを高速生成/実行環境に Excel は不要

ExcelCreator for Java は、独自の技術により高速に Excelファイルを生成します。

処理速度比較

※OS: Windows 10 Enterprise 64bit、CPU: Intel Core i5-4460 3.20GHz、メモリ: 8GB の実行マシンでの結果です。
Excel Object の結果は同一スペックのマシンの .NET Framework 上で実行した処理時間です。

プログラム上から数値のみを設定した際の速度比較

コンポーネント 100列×100行
(1万セル)
100列×1,000行
(10万セル)
100列×10,000行
(100万セル)
ExcelCreator for Java 約 0.08 秒 約 0.30 秒 約 3.17 秒
Excel Object 約 10.74 秒 約 111 秒 約 1400 秒

セルに数値を設定する際のコード例 (ExcelCreator for Java)

  • Java
  • // 行列方向へ繰り返し乱数を設定
    Random random = new Random();
    for (int row = 0; row < rowMax; row++) {
      for (int col = 0; col < colMax; col++) {
        xlsxCreator.getPos(col, row).setInteger(random.nextInt());
      }
    }

プログラム上から数値と書式(罫線)を設定した際の速度比較

コンポーネント 100列×100行
(1万セル)
100列×1,000行
(10万セル)
100列×10,000行
(100万セル)
ExcelCreator for Java
(罫線の範囲一括設定)
約 0.11 秒
(約 0.09 秒)
約 0.51 秒
(約 0.48 秒)
約 5.28 秒
(約 5.05 秒)
Excel Object
(罫線の範囲一括設定)
約 465 秒
(約 21.3 秒)
約 5296 秒
(約 342 秒)
約 64018 秒
(約 16781 秒)

セルに数値と書式(罫線)を設定する際のコード例 (ExcelCreator for Java)

  • Java
  • // 行列方向へ繰り返し乱数と罫線を設定
    Random random = new Random();
    for (int row = 0; row < rowMax; row++) {
      for (int col = 0; col < colMax; col++) {
        // 罫線(外枠)
        xlsxCreator.getPos(col, row).getAttr().box(BoxType.Ltc, BorderStyle.Thin, ExcelColor.Red);
        xlsxCreator.getPos(col, row).setInteger(random.nextInt());
      }
    }

シンプルなコーディングで Excel ファイルを簡単に生成

ExcelCreator for Java による Excel ファイル生成は、たった 3 段階のコーディングで実現可能です。

  • Java
  • // ① Excel ファイル(NewBook.xlsx)を新規作成
    xlsxCreator.createBook("C:¥\NewBook.xlsx", 3, ExcelVersion.ver2016);
    // ② A1セルに値を差し込み
    xlsxCreator.getCell("A1").setValue("アドバンスソフトウェア株式会社");
    // ③ Excel ファイルをクローズ
    xlsxCreator.closeBook(true);

値を差し込むセルの指定は、"A1 参照形式"、"座標形式"、"セルの名前"、"変数名"の 4 つの方法を使用することができます。

  • Java
  • // A1 参照形式
    // セル位置を "A1" のように直接文字列で指定できます。
    xlsxCreator.getCell("A1").setValue(1000);

    // 座標形式
    // セル位置を(0, 0)のように座標形式で指定できます。
    xlsxCreator.getPos(0, 0).setValue(1000);

    // セルの名前
    // Excel の名前ボックスに入力したセルの名前で指定できます。
    // テンプレートで名前の位置を変更すれば、プログラムを変更せずにデータの設定位置を変えることができます。
    xlsxCreator.getCell("金額").setValue(1000);

    // 変数名
    // セルに設定した特定のキーワード文字列 (デフォルトで"**") から始まる文字列(例: "**金額")で指定できます。
    // テンプレートで変数名の位置を変更すれば、プログラムを変更せずにデータの設定位置を変えることができ、
    // さらに複数のセルに同じデータを設定したい場合などに便利な機能です。
    xlsxCreator.getCell("**金額").setValue(1000);

背景色や罫線などのセル書式は、セル範囲を指定して一括で設定を行うことができます。

  • Java
  • // A1 セル単体に背景色 "赤" を設定します。
    xlsxCreator.getCell("A1").getAttr().setBackColor(Color.red);

    // A1:E5 セルに "Box 罫線 (線種:実線、線色:黒)" を設定します。
    xlsxCreator.getCell("A1:E5").getAttr().box(BoxType.Ltc, BorderStyle.Thin, ExcelColor.Black);

    // 座標指定でもセル単体/範囲で書式の設定が可能です。
    xlsxCreator.getPos(0, 0).getAttr().setBackColor(Color.red);
    xlsxCreator.getPos(0, 0, 4, 4).getAttr().lineTop(BorderStyle.Thin, Color.black);

シートや行/列の操作、計算式の設定

シートの追加、コピー、削除、行/列の追加、コピー、削除に対応しています。データ量に応じてシート数を増やしたり、必要な行/列をコピーして同一の書式で可変のデータを蓄積させるなど、プログラム中から自在に操作を行うことができます。また、プログラム中から計算式を設定することもできます。

  • Java
  • // 1 シート目をコピーし、シート名を "copy" に設定して 2 シート目に挿入します。
    // セルの値や書式以外に、図や図形などのオブジェクト類もコピー先シートに引き継がれます。
    xlsxCreator.copySheet(0, 1, "copy");

行/列のコピーではセルの値や書式以外に計算式もコピーされます。また、行列の操作で計算式が移動した場合、参照先セルの座標移動にも対応しています。
例) A1 セル計算式 "=B1" を A2 セルへ行コピー、または行移動後の A2 セル計算式 "=B2"

  • Java
  • // 1 行目をコピーして 2 行目に貼り付けます。
    xlsxCreator.rowCopy(0, 1);
    // A 列をコピーして B 列に貼り付けます。
    xlsxCreator.columnCopy(0, 1);

図、オートシェイプの設定に対応

プログラム中からセルを指定して図やオートシェイプを挿入することができます。

  • Java
  • // スケールモードを "ピクセル(px)" に設定します。
    xlsxCreator.setScaleMode(ScaleMode.Pixel);

    // A1 セルに画像 (幅:100px、高さ:100px) を設定します。
    BufferedImage image = ImageIO.read(new File("C:\\image.jpg"));
    xlsxCreator.getCell("A1").getDrawing().addImage(image, 100, 100);

    // A1 セルにオートシェイプ "円/楕円 (幅:100px、高さ:100px)" を設定します。
    xlsxCreator.getCell("A1").getDrawing().addShape(ShapeType.Ellipse, 100, 100);

    // A1 セルにテキストボックス "円/楕円 (幅:100px、高さ:100px)" を設定し、ボックス内に文字列 "アドバンスソフトウェア" を設定します。
    xlsxCreator.getCell("A1").getDrawing().addTextBox(ShapeType.Ellipse, "アドバンスソフトウェア", 100, 100);

JSP デモ

サンプルプログラムとヘルプファイルで強力バックアップ (※)

豊富なサンプルプログラムとヘルプファイルでプログラミングを支援します。

※製品に紙ベースのマニュアルは提供していません。
製品収録のヘルプファイル(.htm)をご参照ください。