zoukankan      html  css  js  c++  java
  • 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);

    原创文章,欢迎转载,转载请注明出处!

  • 相关阅读:
    java线程池笔记
    java多线程简单用法
    Java 常用工具类整理
    Linux nohup命令详解
    Java八种基本类型
    isms项目tomcat运行配置
    2017计划
    ES6 Reflect 与 Proxy
    ES6 Map与Set
    ES6 Symbol类型
  • 原文地址:https://www.cnblogs.com/acm-bingzi/p/poiCellStyle.html
Copyright © 2011-2022 走看看