Linuxの業務システムから「このExcelシートと同じレイアウトで帳票を印刷してください」に対応できるJavaライブラリが登場[PR]

2019年3月18日

現在ではLinux OSのうえで多くの業務システムが開発され、稼働しています。

一方、経理部門や営業部門などの現場ではさまざまな数字がWindows上のExcelで処理され、お客様へ提出する見積書や請求書など多数の帳票もExcelベースで作成、活用されているのが現実です。

それゆえに、業務システムの帳票印刷に対して現場のスタッフから「このExcelシートと同じレイアウトにしてほしい」と要望が寄せられることは、しばしばあることでしょう。

しかしLinux OSを用いて開発、運用されている業務システムで、どうすればExcelシートと同様のレイアウトを持つ帳票印刷を実現できるでしょうか?

それを簡単に実現するのが、アドバンスソフトウェアが提供するJavaライブラリ「ExcelCreator for Java Ver1.1」です。

fig1

このライブラリだけでLinux上のアプリケーションからExcelファイルを読み込むことができ、任意のセルなどに値を書き込み、修飾なども行った上で、レイアウトを維持しつつPDFとして出力できます。

そのPDFファイルを印刷すれば、LinuxでもExcelシートと同じレイアウトで帳票印刷が簡単に実現できるのです。

しかもWindowsフォントの基本的な情報を製品内に保持しているため、Windowsフォントを前提にしたセルの高さなどもきちんと計算、レイアウトが崩れることなくPDFを出力します。

fig3ExcelCreator for Java Ver1.1ならExcelシートのレイアウトはそのまま(左)、Javaからセルに自由に値を書き込むなどしてPDFとして出力できる(右が出力例)。業務アプリケーションの帳票印刷機能として使える

Excelファイルを読み込んで自由に書き込み、PDFで出力

「ExcelCreator for Java」はJava EEやJava SEのアプリケーションでExcelファイルの生成、読み込み、加工などを実現できるライブラリです。このライブラリさえあればExcelそのものも、Excelのライセンスも必要ありません。LinuxでもWindows Serverでも使えます。

JavaアプリケーションからExcelファイルが読み込めるようになるため、例えば営業部門などの現場から業務システムへのデータの受け渡しに、CSVを介さなくとも直接Excelファイルを読み込めます。

さらに、「ExcelCreator for Java」は読み込んだExcelファイルのシート内にレイアウトされたセルへの書き込みも自由に行えます。つまりExcelシートのレイアウトはそのまま、新たな値をそこに書き込めるのです。

そして最新バージョンの「ExcelCreator for Java Ver1.1」では、ExcelシートをPDFで出力する機能が追加されました。

これによって業務システムでExcelファイルを読み込んで任意の値を書き込み、PDFにしてプリンタで出力するという一連の流れを、WindowsにもExcelにも依存せず、Javaアプリケーションで実現できるようになったのです。

fig2

例えば、帳票レイアウトのテンプレートとしてExcelシートを読み込み、そこに業務アプリケーションによって値を書き込み、PDFで出力し帳票印刷を行う、ということが簡単に実現できます。

しかも帳票レイアウトのレイアウト変更はExcelシートを変更するだけで済むため、帳票レイアウトを変えるたびにプログラミングし直す、といった手間は発生しません。

外字にも対応。PDFにはパスワード設定も可能、バーコード作成機能も

LinuxでExcelファイルを扱う際には、WindowsとLinuxのフォントの違いを解決しなければなりません。

Excelではセルのサイズを標準で設定されているフォントからサイズ情報を取得し、それを基にセルの高さなどを計算していますが、LinuxではExcelファイルを読み込んでも、当然ながらWindowsのフォントサイズを取得することができず、レイアウトが崩れてしまう可能性があります。

そこでExcelCreator for JavaではWindowsフォントの基本的な情報を製品内に保持し、レイアウトが崩れることなく処理できるようになっています。

PDFにはフォント指定やフォントの埋め込み機能があります。ExcelCreator for JavaによるPDFの作成はこのどちらにも対応。フォント一部分だけの埋め込みも、全体の埋め込みも可能。

(※フォントを埋め込む場合、実行環境に埋め込み対象のフォントがインストールされている必要があります)

さらに外字の取り扱いにも対応します。しかもExcelCreator for Javaは「外字切り替え機能」を備え、異なる外字定義を含んだ複数の外字ファイルをシームレスに切り替えられます。

PDFの作成者や作成日時などのプロパティも設定可能。パスワードも設定可能なので、特定のユーザーだけしか閲覧できないセキュアなPDFも作成できます。

そのほかHTMLファイル出力、バーコード作成などの新機能も追加されています。

HTMLファイル出力は、ExcelファイルをHTML形式で出力する機能です。Excelシートの内容をほぼそのままのレイアウトでHTML化するため、簡単にWebブラウザから参照できるアプリケーションが作れます。

バーコード生成機能は、2次元バーコードのQRコード、PDF417をはじめ、主要な1次元バーコード、郵便カスタマバーコードの生成などを実現。これによりバーコード付き帳票の作成を可能にします。

セルへの書き込みだけでなく罫線や背景色の設定、行や列の操作など

最後にあらためてExcelCreator for JavaのExcel関連の機能を、ひととおり簡単に見ていきましょう。

Excelファイルの入出力
まずExcelファイルの読み込み、書き出し、上書き保存、そして新規作成も可能です。つまり業務アプリケーションからのデータ出力をExcelファイルとして出力し、そのまま営業担当などへ渡すことも可能。

セルへの書き込み
読み込んだExcelファイルに対して、任意のセルに数字や文字などの値を書き込むことができます。このとき、セルのアドレス「C2」や「F5」「AA20」を直接指定する方法に加えて、セル内に変数として「**Price」のように「**」で始まる文字列を書いておくと、その文字列が書き込まれているセルに値を書き込むという、独自変数名による値の書き込みもできます。

この変数名によるセルへの値の書き込みは、Excelシートのレイアウトが変わって値を書き込むセルの位置が変わったとしてもプログラムを変更する必要のない、とても便利な機能です。

罫線・背景色・書式などの修飾機能・図の設定
セルに値を書き込むだけでなく、罫線や背景色、セルの書式などExcelでよく使われる修飾もプログラムによって指定できます。また、図やシェイプなども設定できます。

シート、行、列の操作
シートのコピーや削除、行や列のコピーや削除などもできます。シートに書き込むデータが増えたらシートを分けるとか、複数行のデータを書き込む際に書式ごと行をコピーすることで書式を揃える、といった操作が可能です。

これらは簡単なプログラミングで実現可能です。プログラミングの例は以前の記事「業務システムが出力したデータをExcelでもらえないだろうか?」という要求に、簡単に対応できる高速ライブラリ「ExcelCreator for Java」[PR]」をご参照ください。

こうした柔軟かつさまざまな帳票作成を可能にする機能を持つExcelCreator for Javaは、開発ライセンスが4万円(税別)、そしてサーバライセンスが12万円(税別)と、一般的な帳票ツールと比べると非常にリーズナブルな価格になっています。

≫ExcelCreator for Java Ver1.1の製品情報へ

(本記事はアドバンスソフトウェア提供のタイアップ記事です)

あわせて読みたい

Java プログラミング言語 PR




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本