这是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(); } }
模板:字段输出的写法可以搜索参考官方文档,文档写的很详细,这里就不赘述了
相关推荐
【JAVA】easypoi根据Excel模板导出 循环遍历合并单元格处理
EasyUIPoI是一款基于Apache POI的Java工具库,专门用于简化Excel的导出操作,尤其在处理模板和合并单元格方面提供了便利。这个库主要适用于那些需要在Web应用中生成Excel报告或导出数据的场景,比如数据分析、报表...
(2)fe循环指令存在而合并单元格的时候格式错乱问题 (3)fe存在一对多关系的时候格式错乱问题 不想下载的可以参考博文 ,代码是一样的 https://blog.csdn.net/xubenxismile/article/details/123370375
在“easypoi模板导出”中,我们可以利用easypoi提供的模板功能,快速地根据预设的模板生成符合需求的Excel表格。 首先,easypoi的模板导出功能基于Apache POI库,但提供了更为便捷的API接口。通过模板,开发者可以...
easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 语言(熟悉的表达式语法),完成以前复杂的写法。...
excel导出,用于java里报表exccle导出,2007版本,带模板。需要针对模板设置导出;
- `@Excel`属性:用于标注在字段上,控制导出的列名称、宽度、默认值、是否合并单元格等。 - `@ExcelTarget`属性:通常用于标注在字段上,标记该字段所在的单元格位置,可以根据需要设置列名、行高、数据库格式等。 ...
对于子层级的数据,可以递归地创建行和单元格,并相应地调整合并范围。例如,如果有两层结构,第一层有4个类别,第二层每个类别下有2个子类别,可以使用嵌套循环来实现: ```java for (int i = 0; i ; i++) { Row ...
Easypoi提供了数据验证和转换功能,可以从Excel文件中读取数据并映射到Java对象。它能处理各种复杂的导入场景,如错误数据的处理、数据校验、自定义解析逻辑等。 4. **Word模板导出**: 同样,Easypoi也支持Word...
Easypoi 提供了合并单元格的 API,开发者可以按照需要合并指定的单元格,增强 Excel 表格的视觉效果。 5. **示例代码解析**:在提供的压缩包中,应包含示例代码,演示了如何使用 Easypoi 实现上述功能。通常,示例...
EasyPOI同样支持Excel的读写,可以方便地将Excel数据映射到Java对象,或者将对象的数据写入Excel,这对于数据导入导出非常有用。 总的来说,这个项目利用EasyPOI库实现了对Word文档的高级操作,包括隐藏边框以优化...
本文将深入探讨EasyPoi的核心功能,并详细介绍如何将其集成到SpringMVC框架中。 #### 一、EasyPoi概述 EasyPoi由其名称即可看出其设计初衷——简化操作,提高效率。最初,EasyPoi的诞生源于对繁琐代码的不满与改进...
例如,你可以创建一个实体类,字段对应Excel的列,使用easypoi提供的工具类,将实体对象列表转换为Excel工作簿,最后将其写入到输出流中,完成导出。 导入Excel的过程则相对复杂一些,因为需要解析Excel文件并将其...
- Easypoi支持合并单元格、设置单元格样式、处理公式、图片插入等复杂操作。例如,通过CellStyle对象可以设置字体、颜色、边框等样式,通过FormulaEvaluator可以处理Excel中的计算公式。 5. **性能优化** - ...
Spring MVC 是一个基于模型-视图-...同时,Easypoi还支持更复杂的Excel操作,如合并单元格、设置样式、读写公式等。通过对Easypoi的深入理解和实践,可以极大地提高你在Spring MVC项目中处理Excel数据的效率和便利性。
通过在Java实体类上添加特定注解,Easypoi能够自动识别并映射到Excel或Word的相应位置,极大地减少了手动编写映射代码的工作量。这种方式特别适合于处理大量的数据,使得数据转换和验证变得更加自动化和高效。 ...
Word允许用户创建、编辑和格式化复杂的表格,包括设置单元格合并、行列插入删除、边框样式、对齐方式、自动套用格式等。此外,对于大数据量的表格,Word还提供了排序和过滤功能,便于信息管理和检索。高级用户还可以...
word-export ...1.SpringBoot + poi-tl 根据word模板动态生成word(文本、动态行表格、循环列表下的动态行表格、合并单元格) 2.SpringBoot + easypoi 根据word模板动态生成word(文本、表格、图片)
同时,如果模板中的表格结构复杂,可能需要对单元格的合并、列宽、行高等属性进行调整。 Apache POI提供了丰富的API,使得开发者可以灵活地操作Word文档,实现复杂的格式化和动态数据填充。通过熟练掌握这些API,...
- **基本原理**:用户上传Excel文件后,EasyPoi能够根据事先定义好的Java对象及其注解自动解析文件内容,并填充到相应的对象中。 - **注意事项**:确保导入的Excel文件格式正确且符合预设的规则,避免因数据不匹配...