فيما يلي مثال على ReadMe للمشروع المفتوح المصدر excel-spring-boot-starter الذي تم إنشاؤه بناءً على المحتوى الذي تقدمه:
excel-spring-boot-starter هو بداية التمهيد الربيعي يعتمد على تطبيق EasyExcel ، ويستخدم لتبسيط عمليات القراءة والكتابة لـ Excel. EasyExcel هو مشروع Java Open Source مصمم لقراءة وكتابة ملفات Excel مع أدنى استهلاك ذاكرة ممكن. يتيح لك EasyExcel قراءة 75 مترًا (460،000 صف ، 25 عمودًا) من ملفات Excel في دقيقة واحدة مع ذاكرة 64 متر فقط.
تم تحميل المشروع إلى مستودع 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