1. Importer les dépendances (la version 3.1.0+ ne nécessite pas de dépendances poi)
<!-- easyExcel--> <dépendance> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>3.1.1</version> </dépendance>
2. Écrire des données
1. Créez la classe d'entité à écrire (@ExcelProperty correspond au nom du champ de la première ligne d'Excel)
package com.easyexcel.excel ; importer com.alibaba.excel.annotation.ExcelProperty ; importer lombok.Data ; @Données Démo de classe publique { @ExcelProperty("Numéro d'étudiant") privé Entier sno ; @ExcelProperty("Nom de l'étudiant") nom de chaîne privé ; }
2. Commencez à écrire des données
Le premier est le nom du fichier et l'adresse filename()
Feuille de nom de feuille() en bas d'Excel
Collection doWrite() pour l'écriture
Créez la collection correspondante, puis attribuez la valeur et écrivez le contenu dans
package com.easyexcel;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.builder.ExcelWriterBuilder;
import com.easyexcel.excel.Demo;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.ArrayList;
import java.util.List;
@SpringBootTest
class EasyExcelApplicationTests {
@Test
void contextLoads() {
List<Demo> list=new ArrayList<>();
for(int i=0;i<10;i++){
Demo demo=new Demo();
demo.setSno(i);
demo.setSname("data"+i);
list.add(demo);
}
String filename="D:/桌面/test.xlsx";
EasyExcel.write(filename, Demo.class).sheet("学生列表").doWrite(list);
}
}
3. Résultats de l'opération
L'effet est le suivant :
3. Lire les données
1. Créez une classe d'entité et ajoutez un champ d'index à @ExcelProperty pour indiquer la colonne.
@Données Démo de classe publique { @ExcelProperty(value = "Numéro d'étudiant",index = 0) privé Entier sno ; @ExcelProperty(value = "Nom de l'étudiant",index = 1) nom de chaîne privé ; }
2. Créez un écouteur Excel
Héritez de la classe AnalysisEventListener, implémentez les méthodes Invocation et doAfterAllAnalysed et implémentez la méthode InvoquerHeadMap , qui est disponible dans la méthode clic droit-générer-implémentation.
Parmi eux, invoquer consiste à lire ligne par ligne.
doAfterAllAnalysed est l'opération après la lecture
InvoquerHeadMap consiste à lire l'en-tête du tableau
package com.easyexcel.ExcelListener;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.easyexcel.excel.Demo;
import java.util.Map;
public class ExcelListener extends AnalysisEventListener<Demo> {
/**
* 一行一行读
* @param demo
* @param analysisContext
*/
@Override
public void invoke(Demo demo, AnalysisContext analysisContext) {
System.out.println("---"+demo);
}
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
}
@Override
public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
System.out.println("表头="+headMap);
}
}
3. Implémenter l'opération de lecture
Créez d’abord le chemin du nom du fichier à lire
String filename="D:/Desktop/test.xlsx";
Parmi eux, la lecture d'EasyExcel a un ExcelListener de plus que l'écriture pour l'écoute, et le contenu est affiché dans la classe d'écoute pour la lecture.
EasyExcel.read(filename,Demo.class,new ExcelListener()).sheet().doRead();
4.Les résultats sont les suivants :
Le premier est le contenu Excel :
Puis le résultat de la lecture