El siguiente es un ejemplo de readMe para el proyecto de código abierto excel-spring-boot-starter generado en función del contenido que proporciona:
excel-spring-boot-starter es un iniciador de arranque de primavera basado en la implementación EasyExcel , que se utiliza para simplificar las operaciones de lectura y escritura de Excel. EasyExcel es un proyecto de código abierto Java diseñado para leer y escribir archivos de Excel con el consumo de memoria más bajo posible. EasyExcel le permite leer 75m (460,000 filas, 25 columnas) de archivos de Excel en 1 minuto con solo 64 m de memoria.
El proyecto se ha subido al repositorio central de Maven y puede usarse simplemente introduciendo las siguientes dependencias:
| Versión | Versión compatible |
|---|---|
| 3.3.1 | Adaptarse a Spring Boot 3.x |
| 1.2.7 | Adaptarse a Spring Boot 2.x |
Agregue las siguientes dependencias en pom.xml :
< dependency >
< groupId >com.pig4cloud.excel</ groupId >
< artifactId >excel-spring-boot-starter</ artifactId >
< version >${lastVersion}</ version >
</ dependency > Puede recibir el archivo de Excel cargado y analizarlo en una lista de objetos Java utilizando @RequestExcel en el método de interfaz:
@ PostMapping ( "/upload" )
public void upload ( @ RequestExcel List < DemoData > dataList , BindingResult bindingResult ) {
// JSR 303 校验通用校验获取失败的数据
List < ErrorMessage > errorMessageList = ( List < ErrorMessage >) bindingResult . getTarget ();
} Primero debe definir la clase de entidad correspondiente a la tabla de Excel y usar @ExcelProperty para anotar el índice de la columna Excel:
@ Data
public class Demo {
@ ExcelProperty ( index = 0 )
private String username ;
@ ExcelProperty ( index = 1 )
private String password ;
}La siguiente figura muestra la tabla de Excel correspondiente a la clase de entidad anterior:
Solo necesita devolver una List en el método del controlador y usar la anotación @ResponseExcel para exportar los datos a un archivo de 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 ;
}Para obtener instrucciones más detalladas, consulte el documento: https://www.yuque.com/pig4cloud/ogf9nv