HOWTO · Java
Java で Excel ファイルを読み取る
この記事では、Java で Excel ファイルを読み取る方法を示します。
このページの内容
この記事では、Java プログラムで Excel ファイルを読み取るために必要な情報を教育します。 どのソフトウェアを使用しますか? 従うべき手順と、最後に重要なこととして、ユーザーが Excel ファイルを読み取れるようにライブラリを適用する方法。 それでは始めましょう。
Java で Excel ファイルを読み取る
Java では、Microsoft Word などの他のファイル形式と同様に、Excel ファイルを読み取るのは簡単ではありません。 ただし、Excelシートにはセルが含まれているため、その理由は簡単に理解できます。
JDK (Java Development Kit) では、ユーザーは Microsoft Excel や Microsoft Word などのファイルを処理できません。 さらに、ユーザーに必要な API を提供しないため、サードパーティのライブラリに依存してタスクを実行するしかありません。
Java で Excel ファイルを読み取るには、.xls と .xlsx の両方の形式で機能するため、ライブラリ APACHE POI について学習する必要があります。
APACHE POI ライブラリの概要
Poor Obfuscation Implementation としても知られるライブラリ APACHE POI は、ユーザーに 2つの実装を提供します。 1つは HSSF で、もう 1つは XSSF です。
HSSF-HSSF、恐ろしいスプレッド シート形式、実装は、以前のバージョンの Microsoft Excel、具体的には Excel 2003 以前で機能する API を持つユーザーを示します。XSSF-XSSF、XML スプレッドシート形式、実装は、Microsoft Excel の新しいバージョンで動作する API を持つユーザーを示します。 この場合、Excel 2007+ バージョン用です。 この実装を使用して、.xlsx形式を操作することもできます。
その働きをさらに理解するために、そのインターフェースとクラスを調べてみましょう。
インターフェイスとクラス
以下で説明するすべてのインターフェースは、HSSF と XSSF の両方で機能することに注意してください。
-
workbook-workbookは、Excel Workbook を表すインターフェイスです。HSSFWorkbookとXSSFWorkbookの 2つのクラスがあります。 -
シート- ご存じのとおり、ワークブックの中心的な構造はワークシートとして知られています。 したがって、sheetは Excel ワークシートを表すインターフェイスです。ライブラリ
java.lang.Iterableの拡張です。 このインターフェイスの 2つのクラスは、HSSFSheetとXSSFSheetです。 -
row- Excel シートのrowを表すインターフェイスです。 このインターフェースは、ライブラリjava.lang.Iterableの拡張でもあります。HSSFRowとXSSFRowの 2つのクラスがあります。 -
セル- Excel シートの行のセルを表すインターフェイスです。 また、HSSFCellとXSSFCellという 2つのクラスがあります。
ライブラリAPACHE POIに含まれるものと、使用できるインターフェイスとクラスがわかったので、Excelファイルを読み取る手順を見てみましょう。
Java で Excel ファイルを読み取る手順
これらの手順は簡単に実行できます。
-
libフォルダーを作成するユーザーが Excel ファイルを開いて読み取るために使用する Java プロジェクトに、
libという名前のフォルダーを作成します。 -
jarファイルをダウンロードこの手順では、前の手順で作成した
libフォルダーにいくつかのjarファイルをダウンロードする必要があります。commons-collections4-4.1.jar、poi-3.17.jar、poi-ooxml-3.17.jar、poi-ooxml-schemas-3.17.jarをダウンロードする必要があります。 ] およびxmlbeans-2.6.0.jar -
jarファイルを追加するためのパスを作成しますこのステップでは、前のステップでダウンロードした
jarファイルを追加するためのパスを作成する必要があります。 これを行うには、手順 1 で作成した Java プロジェクトを右クリックします。次に、
build pathオプションをクリックして、jarファイルのpathを作成します。 最後に、外部のjarファイルを追加した後、適用して閉じるをクリックします。 -
Java クラスを作成する
このステップで Java クラス ファイルを作成すると、目的の Excel ファイルを呼び出してデータを読み取ることができます。 以下は、Excel ファイルを読み取るクラス ファイルの例です。
Excel 2007 以降のバージョンを使用するため、この例では
XSSFを使用します。import java.io.File; import java.io.FileInputStream; import java.util.Iterator; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class Example { public static void main(String[] args) { try { File ExcelFile = new File("D:\\your_filename.xlsx"); // obtaining bytes from the file FileInputStream FileStream = new FileInputStream(ExcelFile); // using the Workbook interface XSSFWorkbook ExcelWorkbook = new XSSFWorkbook(FileStream); // using the sheet class to get the object XSSFSheet ExcelSheet = ExcelWorkbook.getSheetAt(0); // iterating over excel file, rows. Iterator<Row> IterateRows = ExcelSheet.iterator(); while (IterateRows.hasNext()) { Row ExcelRow = IterateRows.next(); // iterating over the column Iterator<Cell> IterateCells = ExcelRow.cellIterator(); while (IterateCells.hasNext()) { Cell ExcelCell = IterateCells.next(); switch (ExcelCell.getCellType()) { case Cell.CELL_TYPE_STRING: // represents string cell type System.out.print(ExcelCell.getStringCellValue() + "\t"); break; case Cell.CELL_TYPE_NUMERIC: // represents number cell type System.out.print(ExcelCell.getNumericCellValue() + "\t"); break; default: } } System.out.println(""); } } catch (Exception exp) { exp.printStackTrace(); } } }
このサンプル コードを使用すると、ライブラリ APACHE POI の使用方法を簡単に理解できます。 このコード例の出力は、ユーザーが提供する Excel ファイル データになります。