`
coconut_zhang
  • 浏览: 540742 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

easypoi 按照模板到出excel并合并单元格

    博客分类:
  • java
 
阅读更多

是entity类,注解的mergeVertical是纵向合并内容相同的单元格,默认是false

import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
 
import java.io.Serializable;
 
@Data
public class UserEntity implements Serializable {
 
    private static final long serialVersionUID = 1L;
    private String idx;
 
    @Excel(name = "籍贯", mergeVertical = true, width = 50)
    private String nativeStr;
 
    @Excel(name = "姓名", width = 20)
    private String userName;
 
    @Excel(name = "年龄", needMerge = true)
    private int age;
 
    @Excel(name = "地址", width = 50)
    private String addr;
}

 测试类:

import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import cn.afterturn.easypoi.test.entity.UserEntity;
import cn.afterturn.easypoi.util.PoiMergeCellUtil;
import org.apache.poi.ss.usermodel.Workbook;
import org.junit.Test;
 
import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
public class TemplateFengLingTest {
    @Test
    public void test() throws Exception {
 
        Map<String, Object> map = new HashMap<String, Object>();
        List<UserEntity> list = new ArrayList<>();
 
        for (int i = 0; i < 10; i++) {
            UserEntity entity = new UserEntity();
            entity.setIdx(i + "");
            entity.setNativeStr("广东梅州");
            entity.setUserName("Mrs Ling_" + i);
            if (i > 4) {
                entity.setUserName("Mrs Ling");
                entity.setIdx("5");
            }
            entity.setAge(16 + i);
            entity.setAddr("广东梅州_" + i);
            list.add(entity);
        }
 
        for (int i = 0; i < 10; i++) {
            UserEntity entity = new UserEntity();
            entity.setIdx(i + "");
            entity.setNativeStr("广西玉林");
            entity.setUserName("Mr Feng_" + i);
            if (i > 4) {
                entity.setUserName("Mr Feng");
                entity.setIdx("5");
            }
            entity.setAge(21 + i);
            entity.setAddr("广西玉林_" + i);
            list.add(entity);
        }
 
        map.put("entityList", list);
 
        TemplateExportParams params = new TemplateExportParams(
                "doc/fengling_test.xlsx");
        ExcelExportUtil.exportExcel(params, map);
        Workbook workbook = ExcelExportUtil.exportExcel(params, map);
        PoiMergeCellUtil.mergeCells(workbook.getSheetAt(0), 1, 0, 1, 2);
        File saveFolder = new File("D:/home/excel/");
        if (!saveFolder.exists()) {
            saveFolder.mkdirs();
        }
        FileOutputStream fos = new FileOutputStream("D:/home/excel/fengling_test_export" + System.currentTimeMillis() + ".xlsx");
        workbook.write(fos);
        fos.close();
    }
}

 模板:字段输出的写法可以搜索参考官方文档,文档写的很详细,这里就不赘述了

 

 

分享到:
评论

相关推荐

    JAVAeasypoi根据Excel模板导出 循环遍历合并单元格处理

    【JAVA】easypoi根据Excel模板导出 循环遍历合并单元格处理

    easyuiPoi导出Excel工具类封装(支持合并单元格)

    EasyUIPoI是一款基于Apache POI的Java工具库,专门用于简化Excel的导出操作,尤其在处理模板和合并单元格方面提供了便利。这个库主要适用于那些需要在Web应用中生成Excel报告或导出数据的场景,比如数据分析、报表...

    easypoi 模板导出图片不显示,循环指令中合并单元格格式错乱问题解决

    (2)fe循环指令存在而合并单元格的时候格式错乱问题 (3)fe存在一对多关系的时候格式错乱问题 不想下载的可以参考博文 ,代码是一样的 https://blog.csdn.net/xubenxismile/article/details/123370375

    easypoi 模板导出

    在“easypoi模板导出”中,我们可以利用easypoi提供的模板功能,快速地根据预设的模板生成符合需求的Excel表格。 首先,easypoi的模板导出功能基于Apache POI库,但提供了更为便捷的API接口。通过模板,开发者可以...

    EasyPoi Excel和 Word简易工具类

    easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 语言(熟悉的表达式语法),完成以前复杂的写法。...

    excel模板导出

    excel导出,用于java里报表exccle导出,2007版本,带模板。需要针对模板设置导出;

    easypoi导入导出excel表格.pdf

    - `@Excel`属性:用于标注在字段上,控制导出的列名称、宽度、默认值、是否合并单元格等。 - `@ExcelTarget`属性:通常用于标注在字段上,标记该字段所在的单元格位置,可以根据需要设置列名、行高、数据库格式等。 ...

    poi生成excel报表合并列

    对于子层级的数据,可以递归地创建行和单元格,并相应地调整合并范围。例如,如果有两层结构,第一层有4个类别,第二层每个类别下有2个子类别,可以使用嵌套循环来实现: ```java for (int i = 0; i ; i++) { Row ...

    easypoi jar包.rar

    Easypoi提供了数据验证和转换功能,可以从Excel文件中读取数据并映射到Java对象。它能处理各种复杂的导入场景,如错误数据的处理、数据校验、自定义解析逻辑等。 4. **Word模板导出**: 同样,Easypoi也支持Word...

    easypoi 动态列+详情导出示例

    Easypoi 提供了合并单元格的 API,开发者可以按照需要合并指定的单元格,增强 Excel 表格的视觉效果。 5. **示例代码解析**:在提供的压缩包中,应包含示例代码,演示了如何使用 Easypoi 实现上述功能。通常,示例...

    ParseWord07Test(EasyPOi word隐藏边框+图片遍历导出)

    EasyPOI同样支持Excel的读写,可以方便地将Excel数据映射到Java对象,或者将对象的数据写入Excel,这对于数据导入导出非常有用。 总的来说,这个项目利用EasyPOI库实现了对Word文档的高级操作,包括隐藏边框以优化...

    EasyPoi的使用教程以及如何集成入SpringMVC中(详细)

    本文将深入探讨EasyPoi的核心功能,并详细介绍如何将其集成到SpringMVC框架中。 #### 一、EasyPoi概述 EasyPoi由其名称即可看出其设计初衷——简化操作,提高效率。最初,EasyPoi的诞生源于对繁琐代码的不满与改进...

    Java解析Excel与导入Excel

    例如,你可以创建一个实体类,字段对应Excel的列,使用easypoi提供的工具类,将实体对象列表转换为Excel工作簿,最后将其写入到输出流中,完成导出。 导入Excel的过程则相对复杂一些,因为需要解析Excel文件并将其...

    easypoi上课代码.zip

    - Easypoi支持合并单元格、设置单元格样式、处理公式、图片插入等复杂操作。例如,通过CellStyle对象可以设置字体、颜色、边框等样式,通过FormulaEvaluator可以处理Excel中的计算公式。 5. **性能优化** - ...

    springmvc使用easypoi

    Spring MVC 是一个基于模型-视图-...同时,Easypoi还支持更复杂的Excel操作,如合并单元格、设置样式、读写公式等。通过对Easypoi的深入理解和实践,可以极大地提高你在Spring MVC项目中处理Excel数据的效率和便利性。

    easypoi_3.1.0

    通过在Java实体类上添加特定注解,Easypoi能够自动识别并映射到Excel或Word的相应位置,极大地减少了手动编写映射代码的工作量。这种方式特别适合于处理大量的数据,使得数据转换和验证变得更加自动化和高效。 ...

    操作word复杂表格

    Word允许用户创建、编辑和格式化复杂的表格,包括设置单元格合并、行列插入删除、边框样式、对齐方式、自动套用格式等。此外,对于大数据量的表格,Word还提供了排序和过滤功能,便于信息管理和检索。高级用户还可以...

    word-export:SpringBoot项目实现导出word的两种方式(文本、动态行表格、循环列表下的动态行表格、合并单元格)

    word-export ...1.SpringBoot + poi-tl 根据word模板动态生成word(文本、动态行表格、循环列表下的动态行表格、合并单元格) 2.SpringBoot + easypoi 根据word模板动态生成word(文本、表格、图片)

    POI使用word模板文件循环输出行并导出word

    同时,如果模板中的表格结构复杂,可能需要对单元格的合并、列宽、行高等属性进行调整。 Apache POI提供了丰富的API,使得开发者可以灵活地操作Word文档,实现复杂的格式化和动态数据填充。通过熟练掌握这些API,...

    EasyPoi教程.pdf

    - **基本原理**:用户上传Excel文件后,EasyPoi能够根据事先定义好的Java对象及其注解自动解析文件内容,并填充到相应的对象中。 - **注意事项**:确保导入的Excel文件格式正确且符合预设的规则,避免因数据不匹配...

Global site tag (gtag.js) - Google Analytics