Java API開発におけるExcel処理にApache POIを使用する

WBOY
リリース: 2023-06-18 12:17:54
オリジナル
1308 人が閲覧しました

情報化の発展に伴い、データ処理の重要性が引き続き強調されています。企業や個人にとって、Excel ワークシートは日常業務で最も一般的に使用されるデータ処理方法となっています。ただし、Excel ワークシートは使いやすいものの、データ量や処理要件が増加するにつれて、通常の Excel 処理方法では実際のアプリケーションのニーズを満たすことが困難になることがよくあります。現時点では、Java API 開発における Excel 処理に Apache POI ライブラリを使用することが優れた選択肢となっています。

1. Apache POI の概要

Apache POI (Poor Obfuscation Implementation) は、Word、Excel、PowerPoint などの Microsoft Office 形式のファイルを処理および操作するために使用される無料の Java ライブラリです。書類。 Apache POI を使用すると、Java プログラマーは Office ファイルの読み取り、書き込み、操作を簡単に行うことができます。

Apache POI は、大きく 3 つの部分に分けることができます:

  • HSSF (Horrible Spreadsheet Format): Excel 97-2003 ファイル、つまり xls 形式の処理
  • XSSF (XML スプレッドシート形式): Excel 2007 以降、つまり xlsx 形式のファイルを処理します。
  • HWPF (ホラー ワード プロセッサ形式) および XWPF (XML ワード プロセッサ形式): Word 97 でファイルを処理します。それぞれ 2003 形式と Word 2007 以降のファイル。

この記事では主に HSSF と XSSF の使用に焦点を当てます。

2. POI のインストール

Excel 処理に Apache POI を使用する前に、まずライブラリをインストールする必要があります。 Apache POI のインストールは比較的簡単で、jar パッケージの最新バージョンをダウンロードしてプロジェクトのクラスパスに追加するだけです。バージョンの競合などの問題による例外を避けるために、Maven や Gradle などのツールを使用して POI を導入することをお勧めします。

3. Excel ファイルの読み取り

Excel ファイルの読み取りは、Apache POI アプリケーションの最も基本的な操作の 1 つです。以下は、xlsx ファイルを読み取るサンプルコードです。

public static void readXlsx(String filePath) throws IOException {
    FileInputStream fis = new FileInputStream(filePath);
    XSSFWorkbook workbook = new XSSFWorkbook(fis); // 创建工作簿
    XSSFSheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
    int rowStartIndex = sheet.getFirstRowNum(); // 获取第一行的行号
    int rowEndIndex = sheet.getLastRowNum(); // 获取最后一行的行号
    for (int i = rowStartIndex; i <= rowEndIndex; i++) { // 循环行
        XSSFRow row = sheet.getRow(i); // 获取当前行
        if (row == null) { // 若为空行则跳过
            continue;
        }
        int cellStartIndex = row.getFirstCellNum(); // 获取第一列的列号
        int cellEndIndex = row.getLastCellNum() - 1; // 获取最后一列的列号
        for (int j = cellStartIndex; j <= cellEndIndex; j++) { // 循环列
            XSSFCell cell = row.getCell(j); // 获取当前单元格
            String cellValue = cell.getStringCellValue(); // 获取当前单元格的值
            System.out.print(cellValue + "  "); // 输出到控制台
        }
        System.out.println();
    }
    workbook.close(); // 关闭工作簿
    fis.close(); // 关闭输入流
}
ログイン後にコピー

このコードでは、まず FileInputStream を使用して xlsx ファイルを開き、XSSFWorkbook を使用してワークブックを作成します。次に、最初のワークシートを取得し、ループを使用してファイルの内容を行ごと、列ごとに読み取り、各セルの値をコンソールに出力します。最後に、ワークブックと入力ストリームを閉じてリソースを解放する必要があります。

xls ファイルの読み取りは、xlsx ファイルの読み取りと基本的に同じで、XSSF 関連のコードを HSSF に変更するだけです。

4. Excel ファイルへの書き込み

Excel ファイルへの書き込みも、Apache POI アプリケーションで一般的に使用される操作の 1 つです。以下は、xlsx ファイルに書き込むサンプル コードです。

public static void writeXlsx(String filePath) throws IOException {
    XSSFWorkbook workbook = new XSSFWorkbook(); // 创建工作簿
    XSSFSheet sheet = workbook.createSheet("Sheet1"); // 创建工作表
    XSSFRow row0 = sheet.createRow(0); // 创建第一行
    XSSFCell cell00 = row0.createCell(0); // 创建第一个单元格
    cell00.setCellValue("姓名"); // 设置单元格的值
    XSSFCell cell01 = row0.createCell(1); // 创建第二个单元格
    cell01.setCellValue("年龄"); // 设置单元格的值
    XSSFRow row1 = sheet.createRow(1); // 创建第二行
    XSSFCell cell10 = row1.createCell(0); // 创建第一个单元格
    cell10.setCellValue("张三"); // 设置单元格的值
    XSSFCell cell11 = row1.createCell(1); // 创建第二个单元格
    cell11.setCellValue(20); // 设置单元格的值
    XSSFRow row2 = sheet.createRow(2); // 创建第三行
    XSSFCell cell20 = row2.createCell(0); // 创建第一个单元格
    cell20.setCellValue("李四"); // 设置单元格的值
    XSSFCell cell21 = row2.createCell(1); // 创建第二个单元格
    cell21.setCellValue(25); // 设置单元格的值
    FileOutputStream fos = new FileOutputStream(filePath);
    workbook.write(fos); // 输出文件
    workbook.close(); // 关闭工作簿
    fos.close(); // 关闭输出流
}
ログイン後にコピー

このコードでは、xlsx ファイルを作成し、その中に「Sheet1」という名前のワークシートを作成します。次に、各行に 2 つのセルが含まれる 3 行のデータをテーブルに追加しました。最後に、指定したファイル パスにファイルを出力し、ワークブックと出力ストリームを閉じてリソースを解放します。

xls ファイルの書き込みは、xlsx ファイルの書き込みと基本的に同じで、XSSF 関連のコードを HSSF に変更するだけです。

5. 概要

この記事の説明を通じて、読者は Java API 開発、特に Excel ファイル処理における Apache POI の使用について予備的に理解することができます。 Excel ファイルの読み取りでも書き込みでも、Apache POI は Java プログラマーが Excel ファイルを簡単に操作できるようにする使いやすいインターフェイスを提供します。同時に、Apache POI は Word や PowerPoint などの Office ファイルの処理もサポートしており、Java 開発者にとって不可欠なツール ライブラリです。

以上がJava API開発におけるExcel処理にApache POIを使用するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート