ApachePOIはじめに
要求の説明
エンタープライズアプリケーション開発では、Excelレポートは、最も一般的なレポートのニーズの一つです。Excelレポートの開発は、一般的に二つの形式に分けられます。
Excelベースのレポートの1、操作を容易にするために、一括アップロード
Javaコードによって生成された2、Excelのレポート。
エクセル共通運用ツール
-
JXL Excelが唯一の古い枠組みに属して動作することができ、それが唯一のExcel 95から2000までのバージョンをサポートしています。今、私たちは、更新やメンテナンスを停止しました。
-
POIは、Apacheプロジェクトで、Microsoft WordのExcelのように、PPTがOffice2003などと2007年、Excl2003と2007年を含め、動作します。ポイは今それが更新されました。だから今主流の使用POI。
POIとは何ですか
ApacheのPOIは、無料のオープンソースのJava APIにより調製Apache Software Foundationのオープンソース・プロジェクト、クロスプラットフォームのJavaでは、Apache POIのAPIは、Microsoft OfficeのJava言語の操作に機能を提供します。
その上のデータのレポート生成、データの一括アップロード、データのバックアップと:ApacheのPOIは簡単なように完了することができPOIで、Microsoft Officeのの中で最も人気のあるオペレーティングAPIコンポーネントです。
ApachePOI取得ケース
ステップ
-
プロジェクトpoi_demoを作成します。
-
依存追加
-
テストクラスを記述し、Excelエクスポートを実現する、インポートエクセル
1.プロジェクトpoi_demoを作成します。
2.依存性を追加します。
<?XMLバージョン= "1.0"エンコード= "UTF-8" ?> < プロジェクトのxmlns = "http://maven.apache.org/POM/4.0.0" のxmlns:XSI = "http://www.w3.org / 2001 / XMLスキーマ・インスタンス」のxsi:のschemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > < modelVersion > 4.0.0 </ modelVersion > < のgroupId > com.yk </ のgroupId > < たartifactId > poi_demo </ たartifactId > <バージョン> < パッケージ>戦争</ 梱包> < 依存性> < 依存> < groupIdを> org.apache.poi </ groupIdを> < たartifactId > POI </ たartifactId > < バージョン> 4.0.1 </ バージョン> </ 依存関係> < 依存> < groupIdを> org.apache.poi </ のgroupId > <たartifactId > POI-OOXML </ たartifactId > < バージョン> 4.0.1 </ バージョン> </ 依存> < 依存性> < のgroupId > org.apache.poi </ のgroupId > < たartifactId > POI-OOXML-スキーマ</ たartifactId > < バージョン> 4.0.1 </ バージョン> </ 依存関係> < 依存> <groupId >JUnitの</ groupIdを> < たartifactId > JUnitの</ たartifactId > < バージョン> 4.12 </ バージョン> </ 依存関係> </ 依存関係> </ プロジェクト>
3.インポートエクセル、輸出Excelを達成するため、テストクラスを書きます
パッケージcom.yk.test。
輸入org.apache.poi.ss.usermodel.Cell;
輸入org.apache.poi.ss.usermodel.Row。
輸入org.apache.poi.ss.usermodel.Sheet。
輸入org.apache.poi.ss.usermodel.Workbook;
輸入org.apache.poi.xssf.usermodel.XSSFWorkbook;
輸入org.junit.Test;
輸入java.io.FileInputStream;
輸入java.io.FileOutputStreamは、
インポートにjava.io.IOException;
パブリッククラスTestPoi {
@テスト//导出エクセル
ます。public void TestWrite()がスローにIOException {
// 1工作簿
ワークブックWB =新しいXSSFWorkbook();
// 2工作单
シートシート= wb.createSheet( "货物清单")。
// 3行
行row = sheet.createRow(0)。
// 4.
セルCELL row.createCell =(0);
cell.setCellValue( "メーカー")
;セル2 row.createCell =(1)細胞
cell2.setCellValue( "NO")、
細胞が細胞3 row.createCell = (2);
cell3.setCellValue( "番号");
wb.write(新新たFileOutputStream( "D:/test.xlsx"));
}
@ //テストExcelの読み取り
にIOException {スロー)(公共ボイドTestReadを
// 1。 。ブック
ブックWB =新しい新しいXSSFWorkbook(新しい新規のFileInputStream( "D:/test.xlsx"));
// 2ワークシート
シートシート= wb.getSheet( "商品のリスト");
// 3行の
行の行= sheet.getRow(0);
... // 4カラム
System.out.println(row.getCell(0).getStringCellValue())。
System.out.println(row.getCell(1).getStringCellValue())。
System.out.println(row.getCell(2).getStringCellValue())。
}
}