基本的な紹介注目ポイント
jxl: Excel操作に特化しており、Excelを操作するために特別に使用されます POIを使用するには、Maven座標をインポートする必要があります <依存関係> <グループ ID>org.apache.poi</グループ ID> <artifactId>ポイ</artifactId> <バージョン>3.14</バージョン> </依存関係> <依存関係> <グループ ID>org.apache.poi</グループ ID> <artifactId>poi-ooxml</artifactId> <バージョン>3.14</バージョン> </依存関係> POI構造: 異なるドキュメント形式で操作する場合、対応するクラスが提供されます
入門テスト (Excel ファイルからのデータの読み取り)POIを使用すると、既存のExcelファイルからデータを読み取ることができます。 ステップ1: Maven座標をインポートする2番目のステップは ステップ2: Excelファイルを作成するステップ3: テストコードを書くパッケージ com.yy.test; org.apache.poi.ss.usermodel.Cell をインポートします。 org.apache.poi.ss.usermodel.Row をインポートします。 org.apache.poi.xssf.usermodel.XSSFSheet をインポートします。 org.apache.poi.xssf.usermodel.XSSFWorkbook をインポートします。 org.junit.Test をインポートします。 java.io.File をインポートします。 java.io.FileInputStream をインポートします。 /** * @author マーストン * @日付 2021/10/29 */ パブリッククラスPOITest { @テスト パブリックvoid test()は例外をスローします{ // 入力ストリームを渡し、指定されたファイルを読み込み、Excel オブジェクト (ワークブック) を作成します。 XSSFWorkbook Excel = 新しい XSSFWorkbook(新しい FileInputStream(新しい File("E:\\testNomal\\poi.xlsx"))); //Excel ファイルの最初のシート タブを読み取ります XSSFSheet sheet = excel.getSheetAt(0); //シートページには多くの行があります。シートタブページを走査し、各行のデータを取得します for (Row row : sheet) { //行を走査し、各セルオブジェクトを取得します for (Cell cell : row) { //cell はセル オブジェクトを表します。System.out.println(cell.getStringCellValue()); //getStringCellValue 2 番目の列は数値であり、文字列型に変換できないため、エラーが報告されます。//Excel テーブルの 2 番目の列の内容を文字列型に変更するだけです。} } //Excel ファイルを閉じますexcel.close(); } } 実行結果: 今回は入門編なので、タイプを以下のように変更し、Excel ファイルの内容を修正します。 コードの説明と拡張上記の導入事例から、POI が Excel テーブルを操作するためのいくつかのコア オブジェクトをカプセル化していることがわかります。
上記のケースは、ワークシートをトラバースして行を取得し、行をトラバースしてセルを取得し、最後にセル内の値を取得するというものです。 別の方法としては、ワークシートの最後の行番号を取得し、行番号に応じて行オブジェクトを取得し、行全体の最後のセル インデックスを取得し、セル インデックスに応じて各行のセル オブジェクトを取得します。コードは次のとおりです。 パッケージ com.yy.test; org.apache.poi.ss.usermodel.Cell をインポートします。 org.apache.poi.ss.usermodel.Row をインポートします。 org.apache.poi.xssf.usermodel.XSSFRow をインポートします。 org.apache.poi.xssf.usermodel.XSSFSheet をインポートします。 org.apache.poi.xssf.usermodel.XSSFWorkbook をインポートします。 org.junit.Test をインポートします。 java.io.File をインポートします。 java.io.FileInputStream をインポートします。 /** * @author マーストン * @日付 2021/10/29 */ パブリッククラスPOITest { @テスト パブリック void test2() は例外をスローします { // 入力ストリームを渡し、指定されたファイルを読み込み、Excel オブジェクト (ワークブック) を作成します。 XSSFWorkbook Excel = 新しい XSSFWorkbook(新しい FileInputStream(新しい File("E:\\testNomal\\poi.xlsx"))); //Excel ファイルの最初のシート タブを読み取ります XSSFSheet sheet = excel.getSheetAt(0); //現在のワークシートの最後の行の行番号を取得します。行番号は 0 から始まります int lastRowNum = sheet.getLastRowNum(); System.out.println("lastRowNum: "+lastRowNum); for(int i=0;i<=lastRowNum;i++){ //行番号に従って各行を取得します XSSFRow row = sheet.getRow(i); //現在の行の最後のセルのインデックスを取得します。short lastCellNum = row.getLastCellNum(); System.out.println("lastCellNum: "+lastCellNum); for(short j=0;j<lastCellNum;j++){ //セルインデックスに基づいてセルの内容を取得します。String value = row.getCell(j).getStringCellValue(); System.out.println(値); } } //Excel ファイルを閉じますexcel.close(); } } 入門テスト(Excel ファイルへのデータの書き込み)テストコード: //POI を使用して Excel ファイルにデータを書き込み、作成された Excel ファイルを出力ストリームを通じてローカル ディスクに保存します //@Test パブリックvoid test3()は例外をスローします{ //メモリ内にExcelファイル(ワークブック)を作成する XSSFWorkbook Excel = 新しい XSSFWorkbook(); // POI write test という名前のワークシート オブジェクトを作成します。XSSFSheet sheet = excel.createSheet("POI write test"); //ワークシートに行オブジェクトを作成し、最初の行に XSSFRow を作成します。title = sheet.createRow(0); //行にセル オブジェクトを作成します。title.createCell(0).setCellValue("Name"); //最初の列の内容 title.createCell(1).setCellValue("Address"); title.createCell(2).setCellValue("年齢"); // 2行目にXSSFRowを作成します。dataRow = sheet.createRow(1); dataRow.createCell(0).setCellValue("シャオミン"); dataRow.createCell(1).setCellValue("北京"); dataRow.createCell(2).setCellValue("20"); //出力ストリームを作成し、出力ストリームを介してメモリ内の Excel ファイルをディスクに書き込みます。FileOutputStream out = new FileOutputStream(new File("e:\\hello.xlsx")); excel.write(out);//書き込み out.flush();//更新 excel.close(); } Apache POI の基本的な使い方についてはこれで終了です。Apache POI の使い方についてさらに詳しく知りたい方は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: CSS3は、変換変形とイベントを組み合わせて扇形のナビゲーションを完成させます。
>>: HTMLはマウスをホバーしたときにテキストを表示するためにtitle属性を使用します。
この記事の例では、ログインと登録の効果を実現するためのvueプロジェクトの具体的なコードを共有してい...
この記事の例では、ショッピングカート機能を実装するためのjQueryの具体的なコードを参考までに共有...
rm コマンドrm コマンドは、ファイルを削除するときによく使用されるコマンドです。ファイルまたはデ...
先ほど、適応幅と高さが1:1の正方形を作成する方法について説明しました。 https://www.j...
Web には一般的な読み込みアイコンが 2 つあります。1 つは iOS の「菊」、もう 1 つは ...
この記事の例では、ログインページを実装するためのlayuiの具体的なコードを参考までに共有しています...
1. 何ですかreactアプリケーションでは、イベント名はキャメルケース形式で記述されます。たとえ...
目次1. クロージャとは何ですか? 2. 閉鎖の役割序文: JavaScript部分ではクロージャが...
この記事では、MySQL の整合性制約について説明します。ご参考までに、詳細は以下の通りです。メイン...
この記事では、GobangゲームのWebバージョンを実装するためのJavaScriptの具体的なコー...
Zabbix バージョン 3.0 以降、Zabbix サーバー、Zabbix プロキシ、Zabbi...
1. コンテナとは、独立して実行されるアプリケーション、またはアプリケーションのグループとその動作環...
1. パフォーマンス スキーマ: はじめにMySQL 5.7 では、多数の新しい監視項目の導入、ス...
JSONObject は単なるデータ構造であり、JSON 形式のデータ構造 ( key-value構...