다음은 제공하는 콘텐츠를 기반으로 생성 된 오픈 소스 프로젝트 excel-spring-boot-starter 의 ReadMe의 예입니다.
excel-spring-boot-starter EasyExcel 구현을 기반으로 한 Spring Boot 스타터로 Excel의 읽기 및 쓰기 작업을 단순화하는 데 사용됩니다. EasyExcel 메모리 소비가 가장 낮은 Excel 파일을 읽고 쓰도록 설계된 Java 오픈 소스 프로젝트입니다. EasyExcel 사용하면 64m 메모리만으로 1 분 안에 Excel 파일의 75m (460,000 행, 25 열)를 읽을 수 있습니다.
이 프로젝트는 Maven Central 저장소에 업로드되었으며 다음의 종속성을 간단히 소개하여 사용할 수 있습니다.
| 버전 | 지원되는 버전 |
|---|---|
| 3.3.1 | 스프링 부츠 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