基本的な紹介注目ポイント
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属性を使用します。
Nexus は RestApi を提供していますが、一部の API はまだ Groovy と組み合わ...
この記事では、主にReact + three.jsテクノロジースタックを使用して3Dモデルの読み込み...
この記事では主に Vue プロジェクトを紹介します。要素の導入を前提として、コンポーネントを 2 回...
1. mysql tar ファイルをダウンロードします。参考: 2. インストールパッケージがあるデ...
この記事では、JS掃海プロジェクトの概要を参考までに紹介します。具体的な内容は次のとおりです。プロジ...
このステータス コードは、リクエストのステータスに関する情報を提供し、サイトとリクエストされたページ...
目次1. Nginxは負荷分散の原則を実装する2. Nginxの動的および静的分離の原則Nginx ...
1. 背景1. vSphere の共有ストレージの背景を簡単に紹介するvSphere の重要な機能は...
この記事では、Vueの具体的なコード例を参考までに紹介します。具体的な内容は以下のとおりです。 コー...
最近のウェブサイトのほとんどはページが長く、4 画面または 5 画面の長さのものもあれば、2 画面ま...
今日は IE8 ベータ 1 (以下、IE8 と略します) をチラ見しました。IE8 は素晴らしい体験...
効果 HTML を実装するには、まずクリーンな HTML ページを準備し、ノードを記述します。 &l...
目次1. 配列を宣言して初期化する2. 合計、最小値、最大値を計算する3. 文字列、数値、オブジェク...
序文PC サーバーは今日まで発展を続け、パフォーマンスにおいて大きな進歩を遂げてきました。 64ビッ...
序文Oracle や SQL Server などのデータベースには、ストレージ エンジンが 1 つだ...