基本的な紹介注目ポイント
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属性を使用します。
目次事前準備実施方法: 1. 単一のデータを挿入する2. マージデータ挿入3. MySqlBulkL...
MySQL データベースをインストールすると、デフォルトの MySQL データベースの最大接続数が ...
目次マッピングとは何かオブジェクトとマップの違いマップの共通メソッド宣言と初期化割り当てセットキー値...
1. my.iniファイルにskip-grant-tablesを追加し、MySQLサーバーを再起動し...
1. MySQL Yumリポジトリを追加するMySQL公式サイト>ダウンロード>MySQ...
フロントエンド開発でよく使われるCSSの配置方法は、位置決めには、通常位置決め、相対位置決め、絶対位...
MySQLをインストールした後、ターミナルでmysql -u root -pと入力してEnterを押...
目次元に戻すログUNDOログの生成と破棄UNDOログの保存元に戻すログ機能トランザクションの原子性の...
プロフェッショナルな Web デザインは複雑で時間がかかります。 HTML と CSS フレームワー...
クイックスタートガイドForeman インストーラーは、完全に機能する Foreman セットアップ...
この記事では、ネイティブ JS で実装された均一なモーションを紹介します。その効果は次のとおりです。...
パフォーマンスの問題のあるSQL文を取得する方法1. ユーザーからのフィードバックを通じてパフォーマ...
実施原則メイングラフィックは、背景と前景の 2 つの要素で構成されています。次のサンプルコードでは、...
目次1. 優先キューの紹介2. 優先キューのカプセル化1. 優先キューの紹介通常のキューに要素が挿入...
昨晩、面接の質問を見ていたら、CSS スタイルの優先順位について特に明確に説明していない人が何人かい...