Javaコラム Javaエンジニアのためのお役立ちコラム

JavaでExcelを操作するためのApache POIとは?POIのダウンロードと解凍・環境変数CLASSPATHへの登録

2021年08月23日
SE
JavaでExcelを操作するためのApache POIとはどのようなものなのでしょうか。
PM
JavaでExcelを操作するために使用する、一般的なオープンソースです。

JavaでExcelを操作するためのApache POIとは?


JavaでExcelを操作するには、よく知られ一般的なのはオープンソースのApache POIを導入することです。POIは例えばWindowsではjarファイルの集まりで、つまり、Javaのライブラリ群です。

それを環境変数にCLASSPATHとしてPOIのjarファイルを設定してPOIが使えるようになります。

POIのダウンロードと解凍

それではPOIをダウンロードして適当なところでダウンロードしたzipファィルを解凍します。下記サイトよりPOIの最新バージョンをダウンロードします。
Apache POI

2021年6月13日現在POIは5.0.0が最新版です。POIをダウンロードしたならばzipファイルを解凍すればPOIのインストールは終了です。

環境変数CLASSPATHへの登録

POIのどのjarファイルが使用されるのか分からなかったので、POIのjarファイル全てを環境変数CLASSPATHに登録しました。

最低これだけを登録すればいいということがあるとは思うのですが、ネットではPOIの4.x.xバージョンの情報しか見つからなかったので、面倒ですが、全てをCLASSPATHに登録しました。

そうでないとコンパイル時にエラーとなります。

CLASSPATHの登録の仕方

それでは環境変数CLASSPATHにPOIのjarファイルを実際に登録しましょう。

Windows 10がここでの開発環境です。当然、JDKが事前にインストールされているということはいうまでもありません。

「スタートボタン」を右クリックして「システム」を選ぶと「詳細情報」の画面が立ち上がります。その右側に「システムの詳細設定」という項目がありますので、それをクリックします。

「システムのプロパティ」が立ち上がりますので、下部の「環境変数」をクリックします。「ユーザの環境変数」と「システムの環境変数」を見て、CLASSPATHの項目があれば、そこにPOIのjarファイルを登録してゆけばよいのです。

なければ、例えば「システムの環境変数」の「新規」をクリックして「変数名」に「CLASSPATH」と入力します。そして、「変数値」にPOIのjarファイルの絶対パスを登録していきます。

まず、一つを登録し、「OK」を押してから「編集」で登録して行くのがよいでしょう。

以上のjarファイルを全てCLASSPATHに登録しました。

JavaでExcelを操作

POIの設定ができましたので、実際にプログラムを組んでJavaでExcelを操作してみましょう。前提条件として作業フォルダに空のtemplate.xlsxが用意されているものとします。

これをPowerShellを立ち上げて

として入力してコンパイルします。そして、コンパイルが通ったならば

と入力します。すると、作業フォルダにout.xlsxファイルが生成されていて、それを開くとプログラムで狙ったExcelの操作ができています。

ソースコードの解説

それではJavaでExcelをPOIのライブラリを利用して操作したソースコードの解説をします。

まず、セルの指定と文字列の書き込みですが、それはJavaのソースコードの次の箇所に当たります。

POIは0オリジンでrow(行)とcolum(列)を指定する形でJavaでExcelの操作を行います。Excelでは行は1から始まり列はアルファベットのAで始まりますが、JavaのPOIでは先述のように0オリジンです。そこを間違いないように気を付けてください。

色の指定

POIの色の指定ですが、塗りつぶし方は列挙型で指定されていて、色も何色もあるわけではなく、指定されています。
例えば

この箇所を例に取ると、setFillPatternメソッドで色の塗りつぶし方を指定しているのですが、ここでは所謂べた塗りを指定しています。setFillForegroundColorメソッドで色を指定しています。ここでは栗色が指定されています。

このようにJavaでExcelを操作するには最初はとっつきにくいかもしれませんが、パターンが決まっていますので、サンプルソースコードはそれほど難しいことをしてはいないのです。

SE
JavaをインストールするだけではJavaでExcelを操作することができないのですね。
PM
この機会にApache POIを導入し、JavaでExcelを自在に操作してみましょう。

JavaでExcelを操作するにはApache POIがお勧め

いかがでしたでしょうか。JavaでExcelを操作するにはJavaをインストールしただけではExcelは扱えず、Apache POIというライブラリの導入が一般的です。

POIが導入できたならば、JavaでもExcelが自在に操作できますので、色々なサイトを参考にして実際に自身でソースコードを書いてExcelを操作してみてください。


Javaでのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

recommended

Categories

Tags