欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

解决poi导出时单元格样式被覆盖问题

时间:2023-02-20 09:46:22|栏目:JAVA代码|点击:

poi导出时单元格样式被覆盖

在poi操作时对每个单元格进行样式设置,出现的问题是单元格样式被覆盖了?

如何解决这一问题????

解决方法

这里使用到了CellStyle 的一个方法 void cloneStyleFrom(CellStyle var1);

创建一个不影响使用的cell 然后设置样式

在创建一个新的cell使用

createCellStylecopy.cloneStyleFrom(oldercell.getCellStyle());    // 克隆出一个 style

其他的样式可以在createCellStylecopy中设置,然后设置给新的cell

poi的cellstyle陷阱,样式覆盖

问题

cell.getCellStyle().setFont(font);

这句话本来只是想设置这一个单元格cell的字体样式,但是实际上却影响了很多个单元格的样式。

问题出在了,Excel模板中这些单元格本来就是同一个样式,get得到的样式修改,影响的当然也是全部的

解决方法

但是直接创建的样式的话,会丢失Excel模板中原来就有的样式,所以这里使用到了CellStyle 的一个方法

void cloneStyleFrom(CellStyle var1);

保证了既可以新建一个CellStyle,又可以不丢失原来的CellStyle 的样式

问题的那段代码可以写成如下:

//解决单元格样式覆盖的问题
CellStyle cStyle = book.createCellStyle();
cStyle.cloneStyleFrom(cell.getCellStyle());
cStyle.setWrapText(true);
cStyle.setFont(font);
cell.setCellStyle(cStyle);

上一篇:浅谈Action+Service +Dao 功能

栏    目:JAVA代码

下一篇:java集成开发SpringBoot生成接口文档示例实现

本文标题:解决poi导出时单元格样式被覆盖问题

本文地址:http://www.codeinn.net/misctech/226124.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有