Help us understand the problem. What is going on with this article?

【Apache POI】対応するExcelのバージョン

本記事の内容

JavaでExcelを読み書きためにApache POIを使っているときに、Excelのバージョンによって対応するコンポーネントの種類が異なったり、使えないバージョンがあったので忘備録としてまとめることにしました。
(もし、間違いがあれば教えていただけると嬉しいです。)

Apache POIとは

初めに、簡単にApache POIについて説明します。
Apache POIとは、JavaのプログラムでOfficeのファイルを読み書きできるライブラリです。
>Apache POI公式サイト

Excelの読み書きに使うコンポーネント

Excelの読み書きを行うためのコンポーネントは3種類あり、拡張子や用途によって使用するものが異なります。

コンポーネント 読込 書込 拡張子 対応バージョン
HSSF .xls Excel 97-Excel 2003 (BIFF 8)
XSSF .xlsx Excel 2003- (OOXML)
SXSSF × .xlsx Excel 2003- (OOXML)

HSSFやXSSFはExcelのバージョンに合わせて通常の読み書き時に使用します。
※Excel 97より前のバージョン(BIFF 5.0,7.0)では使用できないのでご注意ください。
SXSSFは読み込みはできませんが、ファイルサイズの大きいExcelを書き込む際にメモリを最適化してくれます。
(Apache POIの公式のものではありませんが、読み込み時はStreaming Readerというライブラリが便利です。)

おわりに

今回は簡単にApache POIが使用できるExcelのバージョンとコンポーネントについてまとめてみましたが、後日、Apache POIの使用方法についてもまとめていけたらと思います。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away