Berikut ini adalah contoh readme untuk proyek open source excel-spring-boot-starter yang dihasilkan berdasarkan konten yang Anda berikan:
excel-spring-boot-starter adalah starter boot musim semi berdasarkan implementasi EasyExcel , digunakan untuk menyederhanakan operasi baca dan tulis Excel. EasyExcel adalah proyek sumber terbuka Java yang dirancang untuk membaca dan menulis file Excel dengan konsumsi memori serendah mungkin. EasyExcel memungkinkan Anda membaca 75m (460.000 baris, 25 kolom) file Excel dalam 1 menit dengan hanya memori 64m.
Proyek ini telah diunggah ke repositori Maven Central dan dapat digunakan dengan hanya memperkenalkan dependensi berikut:
| Versi | Versi yang didukung |
|---|---|
| 3.3.1 | Beradaptasi dengan boot musim semi 3.x |
| 1.2.7 | Beradaptasi dengan boot musim semi 2.x |
Tambahkan dependensi berikut di pom.xml :
< dependency >
< groupId >com.pig4cloud.excel</ groupId >
< artifactId >excel-spring-boot-starter</ artifactId >
< version >${lastVersion}</ version >
</ dependency > Anda dapat menerima file Excel yang diunggah dan menguraikannya ke dalam daftar objek Java dengan menggunakan anotasi @RequestExcel dalam metode antarmuka:
@ PostMapping ( "/upload" )
public void upload ( @ RequestExcel List < DemoData > dataList , BindingResult bindingResult ) {
// JSR 303 校验通用校验获取失败的数据
List < ErrorMessage > errorMessageList = ( List < ErrorMessage >) bindingResult . getTarget ();
} Anda harus terlebih dahulu mendefinisikan kelas entitas yang sesuai dengan tabel Excel, dan menggunakan anotasi @ExcelProperty untuk memberi anotasi indeks kolom Excel:
@ Data
public class Demo {
@ ExcelProperty ( index = 0 )
private String username ;
@ ExcelProperty ( index = 1 )
private String password ;
}Gambar berikut menunjukkan tabel Excel yang sesuai dengan kelas entitas di atas:
Anda hanya perlu mengembalikan List dalam metode pengontrol dan menggunakan anotasi @ResponseExcel untuk mengekspor data ke file 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 ;
}Untuk instruksi lebih rinci, silakan merujuk ke dokumen: https://www.yuque.com/pig4cloud/ogf9nv