SpringBoot réalise la fusion des en-têtes de table pour exporter l'application data-EasyExcel



insérez la description de l'image ici

EasyExcel est une bibliothèque d'outils Java open source pour le traitement des fichiers Excel. Il fournit une API facile à utiliser qui peut facilement lire, écrire et manipuler des fichiers Excel. Voici quelques scénarios d'application EasyExcel courants :

Lire des fichiers Excel : utilisez EasyExcel pour lire facilement des données dans des fichiers Excel et les convertir en objets ou collections Java. Vous pouvez spécifier la ligne et la colonne de départ à lire, et vous pouvez également traiter les données de différentes feuilles.

Écrire des fichiers Excel : EasyExcel permet d'écrire des objets ou des collections Java dans des fichiers Excel. Vous pouvez définir le titre, le style et d'autres attributs de chaque colonne en fonction de vos besoins, tout en prenant en charge l'opération d'écriture de grandes quantités de données.

Traitement de données complexe : EasyExcel fournit une multitude de fonctions de traitement de données, telles que le filtrage, le tri, la fusion et d'autres opérations, rendant le traitement des données Excel plus pratique.

Outils d'importation et d'exportation : avec EasyExcel, vous pouvez créer rapidement des outils d'importation et d'exportation complexes pour importer des données à partir de bases de données ou d'autres sources vers Excel, ou exporter des données d'Excel vers d'autres formats.

Vérification et conversion des données : EasyExcel prend en charge les opérations de vérification et de conversion sur les données Excel lues, y compris la vérification du type de données de base, la conversion du format de date, la conversion des données du dictionnaire, etc., pour garantir l'exactitude et la cohérence des données.

Exportation de modèles : en combinant des modèles Excel avec EasyExcel, vous pouvez générer des rapports Excel dans des formats personnalisés. Les espaces réservés dans le fichier modèle peuvent être remplacés par des données spécifiques pour générer le rapport Excel final.

EasyExcel est facile à utiliser et offre de meilleures performances lorsqu'il s'agit de traiter de grandes quantités de données. Vous pouvez vous référer à la documentation officielle ou à un exemple de code d'EasyExcel pour en savoir plus sur son utilisation et ses fonctions.


Dans la section précédente, nous avons réalisé l'export des données, et l'effet est le suivant :
insérez la description de l'image ici

Cependant, dans notre métier actuel, les données sont souvent plus compliquées, et il y aura des cas de fusion d'en-têtes, donc dans cet article, nous allons implémenter des en-têtes de fusion.

1. Créer une classe d'entité

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class User implements Serializable {
    
    

    @ExcelProperty(value = {
    
    "用户基本信息","用户名"},index = 0)
    private String userName;

    @ExcelProperty(value = {
    
    "用户基本信息","年龄"},index = 1)
    private Integer age;

    @ExcelProperty(value = {
    
    "用户基本信息","地址"} ,index = 2)
    private String address;

    @ExcelProperty(value = {
    
    "用户基本信息","生日"},index = 3)
    //注意:日期格式注解由alibaba.excel提供
//    @DateTimeFormat("yyyy-MM-dd HH:mm")
    private Date birthday;
}

2. Exporter

public static void main(String[] args) {
    
    
  //组装数据
    ArrayList<User> users = new ArrayList<>();
    for (int i = 0; i < 10; i++) {
    
    
        User user = new User();
        user.setAddress("西安" + i);
        user.setUserName("张三" + i);
        user.setBirthday(new Date());
        user.setAge(10 + i);
        users.add(user);
    }

    //不做任何注解处理时,表头名称与实体类属性名称一致
    EasyExcel.write("D:\\用户.xlsx", User.class).sheet("用户信息").doWrite(users);
}

L'effet est le suivant
insérez la description de l'image ici


3. Importer

/**
 * excel数据格式必须与实体类定义一致,否则数据读取不到
 */
@Test
public void readExcel(){
    
    
    ArrayList<User> users = new ArrayList<>();
    //读取数据
    EasyExcel.read("C:\\用户.xls", User.class, new AnalysisEventListener<User>() {
    
    
        @Override
        public void invoke(User o, AnalysisContext analysisContext) {
    
    
            System.out.println(o);
            users.add(o);
        }
        @Override
        public void doAfterAllAnalysed(AnalysisContext analysisContext) {
    
    
            System.out.println("完成。。。。");
        }
    }).sheet().doRead();
    System.out.println(users);
}

Résumer:

EasyExcel peut utiliser la méthode de fusion de cellules pour exporter des fichiers Excel avec des en-têtes de fusion.

Pendant le processus d'exportation, les données d'en-tête de chaque ligne sont écrites en premier, puis la ligne de données est écrite. Enfin, définissez une plage de cellules fusionnées via CellRangeAddress et fusionnez les cellules correspondantes dans l'en-tête du tableau.

Remarque : L'exemple de code ci-dessus est fourni à titre indicatif uniquement et vous devez apporter les modifications appropriées en fonction de vos propres besoins lors de l'utilisation réelle.


insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/m0_60915009/article/details/131394164
conseillé
Classement