解决方案

在EasyExcel的官方示例中,使用模板导出Excel,其结果仍然还会重新打印表头。不满足使用表头模板的需求。在参考源码后,找到如下解决方案。

        String templateFileName = TestFileUtil.getPath() + "demo" + File.separator + "demo1.xlsx";
System.out.println(templateFileName);
String fileName = TestFileUtil.getPath() + "templateWrite" + System.currentTimeMillis() + ".xlsx";
System.out.println(fileName);
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
// EasyExcel.write(fileName, DemoData.class).withTemplate(templateFileName).sheet().doWrite(data());
EasyExcel.write(fileName).withTemplate(templateFileName).sheet().doWrite(data());

导出实体类定义

 1 public class DemoData {
2 @ExcelProperty("字符串标题")
3 private String string;
4 @ExcelProperty("日期标题")
5 private Date date;
6 @ExcelProperty("数字标题")
7 private Double doubleData;
8
9 /**
10 * 忽略这个字段
11 */
12 @ExcelIgnore
13 private String ignore;
14 }

运行结果

没有打印导出实体类定义的表头,使用的是模板的表头。符合目标需求。

若沿用官方示例的写法。其运行结果为:双层表头带数据信息。

总结

EasyExcel.write(fileName, DemoData.class)方法中第二参数表示Excel文件的表头,若不传则不会写表头列信息;同时doWirte(data())中的data信息仍然为导出实体类的List集合对象。

EasyExcel中使用表头模板示例的更多相关文章

  1. 《Entity Framework 6 Recipes》中文翻译系列 (20) -----第四章 ASP.NET MVC中使用实体框架之在MVC中构建一个CRUD示例

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第四章  ASP.NET MVC中使用实体框架 ASP.NET是一个免费的Web框架 ...

  2. 在RichFaces中使用Facelets模板

    在RichFaces中使用Facelets模板 目录 Facelets简介 Facelets标签 创建相应文件 Facelets简介 Facelets是用来构建JSF应用程序的默认视图技术.它为表现层 ...

  3. Django中如何查找模板

    参考:http://my.oschina.net/zuoan001/blog/188782 Django的setting中有关找模板的配置有如下两个: TEMPLATE_LOADERS TEMPLAT ...

  4. C++中的函数模板

    我们在定义函数时,可以通过定义函数模板,来简化一些功能相同而数据类型不同的函数的定义和调用过程. C++中的函数模板 对于类的声明来说,也有同样的问题.有时,有两个或多个类,其功能是相同的,仅仅是数据 ...

  5. 在Spring MVC和Spring Boot中使用thymeleaf模板

    Spring MVC: POM: <!-- thymeleaf模板 --> <!-- https://mvnrepository.com/artifact/org.thymeleaf ...

  6. MVC中使用T4模板

    参考博文 http://www.cnblogs.com/heyuquan/archive/2012/07/26/2610959.html 图片释义 1.简单示例,对基本的模块标记 2.根据上图生成的类 ...

  7. MShadow中的表达式模板

    表达式模板是Eigen.GSL和boost.uBLAS等高性能C++矩阵库的核心技术.本文基于MXNet给出的教程文档来阐述MXNet所依赖的高性能矩阵库MShadow背后的原理. 编写高效的机器学习 ...

  8. VS2013中的MVC5模板部署到mono上的艰辛历程

    部署环境:CentOS7 + Mono 3.10 + Jexus 5.6 在Xamarin.Studio创建的asp.net项目,部署过程非常顺利,没有遇到什么问题:但在VS2013中创建的asp.n ...

  9. VS2012中丢失ArcGIS模板的解决方法

    VS2012中丢失ArcGIS模板的解决方法 由于ArcGIS10.0(for .NET)默认是用VS2010作为开发工具的,所以在先安装VS2012后装ArcGIS10.0 桌面版及ArcObjec ...

  10. jQuery中$.fn的用法示例介绍

    $.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效,下面有个不错的示例,喜欢的朋友可以参考下 如扩展$.fn.abc(),即$.fn.abc()是对jquery ...

随机推荐

  1. Split to Be Slim: 论文复现

    摘要:在本论文中揭示了这样一种现象:一层内的许多特征图共享相似但不相同的模式. 本文分享自华为云社区<Split to Be Slim: 论文复现>,作者: 李长安 . Split to ...

  2. ThreadLocal实现原理和使用场景

    ThreadLocal是线程本地变量,每个线程中都存在副本. 实现原理: 每个线程中都有一个ThreadLocalMap,而ThreadLocalMap中的key即是ThreadLocal.  内存泄 ...

  3. Python if 语句练习

    if语句 练习 # 1.以特殊方式跟管理员打招呼 # 创建一个至少包含 5 个用户名的列表,且其中一个用户名为 'admin' .想象你要编写代码,在每位用户登录网站后都打印一条问 # 候消息.遍历用 ...

  4. Go函数基础

    在Go语言中,函数是一种基本的代码组织方式.函数能够接受输入参数并返回结果.Go语言中的函数有以下特点: 函数定义使用关键字func,后跟函数名.参数列表和返回值类型. 如果函数有返回值,则在函数定义 ...

  5. 2020-08-27:OpenStack与Docker的区别?

    福哥答案2020-08-27: 此答案来自qq群巨佬:openstack是个体系一个完整的方案系统 基于虚拟机 docker只是一个内核上特殊模式跑与其他系统进程隔离的进程的软件方案真正与docker ...

  6. Jenkins - 安装部署

    Jenkins安装部署 简介 Jenkins是一个开源的软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作,提供一个开放易用的软件平台,使软件的持续集成变成可能. 主要用于: 持续 ...

  7. extra别名,即给列取别名

    extra别名,即给列取别名 Student.objects.all().extra(select={"name":"nickname"}) nickname为 ...

  8. annotate()使用聚合计数、求和、平均数 raw()执行原生的SQL

    annotate()使用聚合计数.求和.平均数  raw()执行原生的SQL # 按老师分组,求课程的销量 Course.objects.values('Teacher').annotate(vol= ...

  9. 【使用git之旅】

    前言 在学习各种语言的时候我总喜欢把例子改成有自己想法并且有趣的程序, 但是时间一长,我发现在本地管理很麻烦,于是乎想到了github和gitee, 然后昨晚一时兴起,就开始了学习,开个博客记录一下我 ...

  10. Uncaught TypeError: imageStyle.getImageState is not a function

    这个错误也是遇得到哟,柑橘自己好无辜呀,我哪里错了,找了半天原来还是自己找的错误 看 import Circle from 'ol/geom/Circle'; feature.setStyle(new ...