1、前言:

exsyExcel官方文档大部分都是使用实体类注解的形式,对于不使用用实体类生成Excel时,很多功能都难以实现,文档对这方面都写得很少,但我们可以去GitHub上查看官方demo,就可以找到原因

2、问题:

在项目中,产品经理要求Excel每一列的样式都不一样,如带文字的列居中,带数据的列靠右对齐等等

3、实现方式:

3.1 >这是官方文档唯一提出解决方法的文字

// HorizontalCellStyleStrategy 每一行的样式都一样 或者隔行一样
// AbstractVerticalCellStyleStrategy 每一列的样式都一样 需要自己回调每一页

3.2 >由此可知,我们需要从AbstractVerticalCellStyleStrategy 入手,来看看他的方法组成有哪些

除了这些,还有父类中的几个方法,这些都不重要,当我们需要自定义列样式时,可以使用重写以下两个方法:

headCellStyle(Head head)        ----设置标题栏的列样式

contentCellStyle(Head head)     ----设置表格内容的列样式

3.3 >实现关键:

head.getColumnIndex()可以获取到当前列的下标,我们通过下标就可以设置每一行的样式了,我只是简单的对每一列进行水平对齐方式的处理,代码中的构造方法是为了传递自定义样式的值[List]给子类,不然无法根据传递的样式进行处理,当然我们也可以直接在重写方法中写死(这样不是很灵活)

3.4 > 在Excel生成时,把自定义样式策略加入到Excel中即可

//数据表格的自定义列样式
CustomVerticalCellStyleStrategy levelStrategy = new CustomVerticalCellStyleStrategy(levelList);
WriteTable dataTable = EasyExcel.writerTable(2).registerWriteHandler(levelStrategy).head(head).needHead(t).build();

4、来看看我的效果

数据列靠右,日期与文字列居中

easyExcel给表格的每一列设置不同样式相关推荐

  1. excel表格行宽列高怎么设置_excel表格怎么设置行高列宽

    excel表格怎么设置行高列宽 你是怎么调整Excel表格的行高和列宽的? 如果还在用原始的手动调整方法,那你赶紧看看下面这几种解决方法,不仅效率高,而且调整的行高和列宽还很统一整齐哦,快和小编来学习 ...

  2. CSS中给表格的第一列及最后一列设置不同的样式

    <!--设置表格的第一列样式--> table tr td:first-child{样式代码.... } <!--设置表格的最后一列样式--> table tr td:last ...

  3. LaTeX表格行宽、列间距设置

    一.前言 对于如下 LaTeX 代码生成的表格: \begin{table}[!htbp]\centering\begin{tabular}{|l|l|l|l|}\hline~ & col1 ...

  4. 灵活设置表格的某一列颜色

    最近正在复习关于HTML的视频,以前觉得自己对HTML中的表格问题领悟很深,今天突然学到新的知识,深感惭愧.有时候在做报表的时候,想要设置某一列的颜色,如果当表格的列数或者行数不多时,可以一一设置,但 ...

  5. html%3ctd%3e文本自动换行,如何在表格中自动换行一列,并将表格大小设置为浏览器窗口...

    我有一个带有3个"组"的HTML表格,左侧,中间和右侧.如何在表格中自动换行一列,并将表格大小设置为浏览器窗口 +--------------------------------- ...

  6. element plus为表格某列数据文字设置颜色样式

    有时候业务需要,需要将表格里的数据换上不同颜色的样式,以便查看,查看官方文档,有一个属性可以修改表格的样式 话不多说,放代码: <el-table ref="multipleTable ...

  7. jGrid表格,用shrinkToFit属性设置列的宽度为不自适应表格宽度

    jGrid表格里,通常列的宽度会自适应的填充至整个表格,一般当字段多的时候倒没什么关系.但如果表内只有两三个字段,列的宽度自适应表的宽度后,看起来就很别扭. $("#meterTypeGri ...

  8. easyExcel导出表格及合并单元格

    easyExcel导出表格及合并单元格 前言 废话不多说,直接上效果图. 效果图 合并之前导出的: 合并之后导出的: 代码的实现主要是合并之后的,为了更好的分清数据之间的关系. 二.代码 目录 < ...

  9. EasyExcel导出表格——下拉筛选

    EasyExcel导出表格--下拉筛选 单元格添加下拉筛选 确保输入内容规范和准确 减少数据查询,提高用户使用感 根据用户权限,下拉筛选项控制 Controller层 /*** 模板下载* @para ...

最新文章

  1. php常用案例,PHP常用数组处理函数总结,附带运行案例
  2. 爆火的深度学习面试书现可白嫖!GitHub上线2周1.5K Star,之前售价146元
  3. javabean总结
  4. python 链栈及基本操作
  5. Mckinsey insights 2
  6. shell脚本应用(二)
  7. mac mysql mysqldump_Mac下Mysql导出sql语句的方法及可能遇到的mysqldump: command not found...
  8. Maven的单元测试插件maven-surefire-plugin详解
  9. DUBBO 使用问题记录
  10. Spark MLib 数据类型
  11. Android技能树 — Android存储路径及IO操作小结
  12. 整数规划遗传算法MATLAB,非线性整数规划的遗传算法Matlab程序
  13. asa清空配置_思科ASA防火墙基本配置
  14. mysql文章相似度计算_文章相似度计算
  15. 监控系统服务器时间怎么更改,监控系统服务器改时间
  16. 保利威视后台编辑FLASH播放器
  17. Nexus5刷Firefox OS 2.0
  18. [机房练习赛4.7] 深意 KMP
  19. 创业之路 - 魏杰:下一个 10 年,将造就一批新富翁
  20. endata 电影票房响应数据破解

热门文章

  1. Vue+PHP实现个人博客系统
  2. 新款「超大杯」iPhone遭爆料!不止大镜头,还有1TB储存,但却不能叫iPhone13
  3. command a expects \ followed by text
  4. Android 常用RGB值以及中英文名称
  5. 最好的生活方式:存钱,运动,读书,早起
  6. 【水晶报表】中如何打印条形码?
  7. 【SVAC】SVAC标准简介
  8. 网络小说写作套路_关于网络写作的6个常见问题,已回答
  9. 利用大数据打造智慧港航运
  10. 2022年全球20大国际航运中心榜单公布,上海蝉联第三,与新加坡伦敦差距缩小 | 美通社头条...