A seguir, é apresentado um exemplo de leitura para o projeto de código aberto excel-spring-boot-starter gerado com base no conteúdo que você fornece:
excel-spring-boot-starter é um iniciador de bota de primavera com base na implementação EasyExcel , usada para simplificar as operações de leitura e gravação do Excel. EasyExcel é um projeto de código aberto Java projetado para ler e gravar arquivos do Excel com o menor consumo de memória possível. EasyExcel permite ler 75m (460.000 linhas, 25 colunas) de arquivos do Excel em 1 minuto com apenas 64 milhões de memória.
O projeto foi enviado ao repositório central do Maven e pode ser usado simplesmente introduzindo as seguintes dependências:
| Versão | Versão suportada |
|---|---|
| 3.3.1 | Adapte -se ao Spring Boot 3.x |
| 1.2.7 | Adapte -se ao Spring Boot 2.x |
Adicione as seguintes dependências em pom.xml :
< dependency >
< groupId >com.pig4cloud.excel</ groupId >
< artifactId >excel-spring-boot-starter</ artifactId >
< version >${lastVersion}</ version >
</ dependency > Você pode receber o arquivo Excel enviado e analisá -lo em uma lista de objetos Java usando @RequestExcel no método da interface:
@ PostMapping ( "/upload" )
public void upload ( @ RequestExcel List < DemoData > dataList , BindingResult bindingResult ) {
// JSR 303 校验通用校验获取失败的数据
List < ErrorMessage > errorMessageList = ( List < ErrorMessage >) bindingResult . getTarget ();
} Você precisa primeiro definir a classe de entidade correspondente à tabela do Excel e usar @ExcelProperty para anotar o índice da coluna do Excel:
@ Data
public class Demo {
@ ExcelProperty ( index = 0 )
private String username ;
@ ExcelProperty ( index = 1 )
private String password ;
}A figura a seguir mostra a tabela Excel correspondente à classe de entidade acima:
Você só precisa retornar uma List no método do controlador e usar a anotação @ResponseExcel para exportar os dados para um arquivo do 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 instruções mais detalhadas, consulte o documento: https://www.yuque.com/pig4cloud/ogf9nv