Ce qui suit est un exemple de ReadMe pour le projet open source excel-spring-boot-starter généré en fonction du contenu que vous fournissez:
excel-spring-boot-starter est un démarreur de démarrage Spring basé sur la mise en œuvre EasyExcel , utilisé pour simplifier les opérations de lecture et d'écriture d'Excel. EasyExcel est un projet open source Java conçu pour lire et écrire des fichiers Excel avec la consommation de mémoire la plus faible possible. EasyExcel vous permet de lire 75m (460 000 lignes, 25 colonnes) de fichiers Excel en 1 minute avec seulement 64 m de mémoire.
Le projet a été téléchargé sur le référentiel central Maven et peut être utilisé en introduisant simplement les dépendances suivantes:
| Version | Version prise en charge |
|---|---|
| 3.3.1 | S'adapter à Spring Boot 3.x |
| 1.2.7 | S'adapter à Spring Boot 2.x |
Ajoutez les dépendances suivantes dans pom.xml :
< dependency >
< groupId >com.pig4cloud.excel</ groupId >
< artifactId >excel-spring-boot-starter</ artifactId >
< version >${lastVersion}</ version >
</ dependency > Vous pouvez recevoir le fichier Excel téléchargé et l'analyser dans une liste d'objets Java en utilisant @RequestExcel dans la méthode d'interface:
@ PostMapping ( "/upload" )
public void upload ( @ RequestExcel List < DemoData > dataList , BindingResult bindingResult ) {
// JSR 303 校验通用校验获取失败的数据
List < ErrorMessage > errorMessageList = ( List < ErrorMessage >) bindingResult . getTarget ();
} Vous devez d'abord définir la classe d'entité correspondant à la table Excel et utiliser @ExcelProperty pour annoter l'index de la colonne Excel:
@ Data
public class Demo {
@ ExcelProperty ( index = 0 )
private String username ;
@ ExcelProperty ( index = 1 )
private String password ;
}La figure suivante montre le tableau Excel correspondant à la classe d'entité ci-dessus:
Il vous suffit de retourner une List dans la méthode du contrôleur et d'utiliser l'annotation @ResponseExcel pour exporter les données vers un fichier 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 ;
}Pour des instructions plus détaillées, veuillez vous référer au document: https://www.yuque.com/pig4cloud/ogf9nv