ต่อไปนี้เป็นตัวอย่างของ readMe สำหรับโครงการโอเพนซอร์ส excel-spring-boot-starter ที่สร้างขึ้นตามเนื้อหาที่คุณมี:
excel-spring-boot-starter เป็นตัวเริ่มต้นฤดูใบไม้ผลิจากการใช้งาน EasyExcel ซึ่งใช้เพื่อทำให้การดำเนินการอ่านและเขียนของ Excel ง่ายขึ้น EasyExcel เป็นโครงการโอเพนซอร์ส Java ที่ออกแบบมาเพื่ออ่านและเขียนไฟล์ Excel ด้วยการใช้หน่วยความจำต่ำสุดที่เป็นไปได้ EasyExcel ช่วยให้คุณอ่านไฟล์ Excel 75m (460,000 แถว 25 คอลัมน์) ใน 1 นาทีโดยมีหน่วยความจำเพียง 64m เท่านั้น
โครงการได้รับการอัพโหลดไปยังที่เก็บกลาง Maven และสามารถใช้งานได้เพียงแค่แนะนำการอ้างอิงต่อไปนี้:
| รุ่น | เวอร์ชันที่รองรับ |
|---|---|
| 3.3.1 | ปรับให้เข้ากับ Spring Boot 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 > คุณสามารถรับไฟล์ Excel ที่อัปโหลดได้และแยกวิเคราะห์เป็นรายการวัตถุ Java โดยใช้คำอธิบายประกอบ @RequestExcel ในวิธีการเชื่อมต่อ:
@ 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