excel spring boot starter
3.3.1
以下是基於你提供的內容生成的開源項目excel-spring-boot-starter的README 示例:
excel-spring-boot-starter是一個基於EasyExcel實現的Spring Boot Starter,用於簡化Excel 的讀寫操作。 EasyExcel是一個Java 開源項目,旨在以盡可能低的內存消耗實現對Excel 文件的讀寫。通過EasyExcel ,你可以在僅使用64M 內存的情況下,在1 分鐘內讀取75M(46 萬行,25 列)的Excel 文件。
項目已經上傳至Maven 中央倉庫,只需引入以下依賴即可使用:
| 版本 | 支持版本 |
|---|---|
| 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 >你可以通過在接口方法中使用@RequestExcel註解來接收上傳的Excel 文件並將其解析為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