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 ファイル データになります。
Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.
LinkedIn