这是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模板导出 循环遍历合并单元格处理
php根据excel模板导出excel并合并单元格,根据模板导出会少写很多样式的代码,非常方便
easyuiPoi 通过模板导出Excel、支持纵向合并单元格(合并重复内容)。压缩包包含公共工具类、示例模板、调用截图。
excel计算合并单元格所占行数
java excel poi合并单元格
(2)fe循环指令存在而合并单元格的时候格式错乱问题 (3)fe存在一对多关系的时候格式错乱问题 不想下载的可以参考博文 ,代码是一样的 https://blog.csdn.net/xubenxismile/article/details/123370375
poi生成excel及合并单元格示例,详见文章http://blog.csdn.net/geloin/article/details/17219885
C#合并EXCEL单元格,C#纵向合并EXCEL相同内容单元格
excel基本操作,创建,读写,公式设置,判断是否为合并单元格
用vb语言输出excel并合并单元格.txt
NPOI读取模版导出excel,合并相邻值相同的单元格。
asp.net C#得到Excel合并单元格行和列及其内容,得到合并单元格的开始行列和结束的行和列。关闭Excel 进程。
Labview 合并Excel多单元格 1-可合并表头,多方面合并,与手工操作一致,批量执行
winform使用Microsoft.Office.Interop.Excel读取带有合并单元格的Excel的demo,Excel版本不限,可以是.xls可以是.xlsx版本。本程序采用webbrowser显示读取的数据,使用bootstrap的css样式美化table表格,使用Json...
POI操作Excel 合并单元格 边框问题解决方法,这个方法是我亲自测试,并运用于项目中的,可以放心使用,还一并写出了很多注释,其中有写poi的bug的解决方法
excel合并单元格换行不自动调整行高,通过vb代码对行高进行调整
数据集合导出到excel模板(未合并单元格与合并单元格)
VB VBA 查excel合并单元格 查出合并单元格并列出合并的范围!很实用!
博文《使用EasyPOI导出Excel模板数据(含图片)》所含源码,应众多网友要求放出来。包含测试类、导出工具类、图像工具类、Excel模板
仿Excel合并单元格实例点击合并表格单元格是合并表格里面相同的列,很实用的。