Java Apache POIを使って、Excelファイルを読み込む




金魚すくいのポイで、Excelファイルを開いてみます。
便利な世の中になりましたねぇ。

Apache POIの入手

まずは、「Apache POI」ライブラリを入手しましょう。
Apache POIは、Apacheが公開しているライブラリですので、安心してくださいw
集めるのは大変なので、Mavenを使っての入手をおすすめします。

Apache Mavenを使って入手

pom.xmlは、こんな感じです。

Apache Mavenから手動で入手

手動でがんばるなら、以下のjarを集めることになります。。大変です。おすすめしませんw
Mavenリポジトリでダウンロードできるので、ここで探して集めましょう。
https://mvnrepository.com/

  • commons-codec-1.15.jar
  • commons-collections4-4.4.jar
  • commons-compress-1.21.jar
  • commons-io-2.11.0.jar
  • commons-math3-3.6.1.jar
  • curvesapi-1.07.jar
  • log4j-api-2.18.0.jar
  • poi-5.2.3.jar
  • poi-ooxml-5.2.3.jar
  • poi-ooxml-lite-5.2.3.jar
  • SparseBitSet-1.2.jar
  • xmlbeans-5.1.1.jar

※2023年4月時点でMavenから拾ったリストです。
 バージョンの整合性もあるので、手動はおすすめしません。
 大事なことなので、2回言いましたw

Apache POIを使って、Excelファイルを読み込むサンプル

エクセルファイルを読んで、シート1枚目の内容を標準出力します。
エクセルファイルのシート1枚目に、都道府県コードの一覧(5件分)を書いてあります。

実行結果

エクセルファイルに書かれている都道府県コードの一覧(5件分)が出力されます。
ついでに、log4j-coreが足りない旨出力されます。

エラーが気になるようでしたら、log4jを設定しましょう。

サンプルの解説

WorkbookFactory#create(InputStream)にエクセルファイルのインプットストリームを渡すと、Workbookが返ってきます。
Workbookから行のRow。行のRowからセルのCellが取得できます。
この例では、Cell#getStringCellValue()でセルの値を取得しています。