以下は、あなたが提供するコンテンツに基づいて生成されたオープンソースプロジェクトexcel-spring-boot-starterのreadmeの例です。
excel-spring-boot-starter EasyExcel実装に基づいたSpring Boot Starterであり、Excelの読み取り操作を簡素化するために使用されます。 EasyExcelは、可能な限り低いメモリ消費を持つExcelファイルを読み書きするために設計されたJavaオープンソースプロジェクトです。 EasyExcel使用すると、わずか64mのメモリで1分で75m(460,000行、25列)のExcelファイルを読み取ることができます。
このプロジェクトは、Maven Central Repositoryにアップロードされており、次の依存関係を導入するだけで使用できます。
| バージョン | サポートバージョン |
|---|---|
| 3.3.1 | Spring Boot 3.xに適応します |
| 1.2.7 | Spring Boot 2.xに適応します |
pom.xmlに次の依存関係を追加します。
< dependency >
< groupId >com.pig4cloud.excel</ groupId >
< artifactId >excel-spring-boot-starter</ artifactId >
< version >${lastVersion}</ version >
</ dependency >アップロードされたExcelファイルを受信し、インターフェイスメソッドで@RequestExcelアノテーションを使用してJavaオブジェクトリストに解析できます。
@ PostMapping ( "/upload" )
public void upload ( @ RequestExcel List < DemoData > dataList , BindingResult bindingResult ) {
// JSR 303 校验通用校验获取失败的数据
List < ErrorMessage > errorMessageList = ( List < ErrorMessage >) bindingResult . getTarget ();
}最初にExcelテーブルに対応するエンティティクラスを定義し、 @ExcelPropertyアノテーションを使用して、Excel列のインデックスを注釈付けする必要があります。
@ Data
public class Demo {
@ ExcelProperty ( index = 0 )
private String username ;
@ ExcelProperty ( index = 1 )
private String password ;
}次の図は、上記のエンティティクラスに対応するExcelテーブルを示しています。
コントローラーメソッドのListを返すだけで、 @ResponseExcelアノテーションを使用してデータをExcelファイルにエクスポートする必要があります。
@ Documented
@ Target ( ElementType . METHOD )
@ Retention ( RetentionPolicy . RUNTIME )
public @interface ResponseExcel {
String name () default "" ;
ExcelTypeEnum suffix () default ExcelTypeEnum . XLSX ;
String password () default "" ;
Sheet [] sheets () default @ Sheet ( sheetName = "sheet1" );
boolean inMemory () default false ;
String template () default "" ;
String [] include () default {};
String [] exclude () default {};
Class <? extends WriteHandler >[] writeHandler () default {};
Class <? extends Converter >[] converter () default {};
Class <? extends HeadGenerator > headGenerator () default HeadGenerator . class ;
}詳細については、ドキュメントを参照してください:https://www.yuque.com/pig4cloud/ogf9nv