当前位置: 首页 > wzjs >正文

wordpress 怎么上传头像seo常用的优化工具

wordpress 怎么上传头像,seo常用的优化工具,南昌地宝网租房信息网,拍写真EasyExcel使用导出模版后在CellWriteHandler的afterCellDispose方法设置 CellStyle失效问题解决方法 问题描述:excel 模版塞入数据后,需要设置单元格的个性化设置时失效,本文以设置数据格式为例(设置列的数据展示时需要加上千分位…

EasyExcel使用导出模版后在CellWriteHandler的afterCellDispose方法设置 CellStyle失效问题解决方法

问题描述:excel 模版塞入数据后,需要设置单元格的个性化设置时失效,本文以设置数据格式为例(设置列的数据展示时需要加上千分位分隔符)
在这里插入图片描述

1. 无效的解决方案:

在afterCellDispose中通过重新设置 cell 的 CellStyle 来设置 DataFormat,此时可以打印 cell的值和 DataFormat 发现与我们设置的一样,但是导出时就是没有生效。
注意:由于我使用了 easyexcel 中的横向填充数据,所以我将数据全部设置为 String 对应 Excel 中的 String,在下面代码中我删除了部分定制化的逻辑,仅仅只展示如何为本质是 Number的String数据加上DataFormat。

@Slf4j
public class SignAmtCustTypeMergeStrategy implements CellWriteHandler {@Overridepublic void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder,List<WriteCellData<?>> cellDataList, Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) {if (cellType == CellType.STRING) {String stringCellValue = cell.getStringCellValue();if (StringUtils.isNotEmpty(stringCellValue)) {try {Workbook workbook = writeSheetHolder.getSheet().getWorkbook();CellStyle newStyle = workbook.createCellStyle();CellStyle originalStyle = cell.getCellStyle();if (originalStyle != null) {newStyle.cloneStyleFrom(originalStyle);}newStyle.setDataFormat(IntegerEnum.FOUR.getValue().shortValue());cell.setCellStyle(newStyle);BigDecimal bigDecimal = new BigDecimal(stringCellValue);cell.setCellValue(bigDecimal.doubleValue());} catch (Exception e){}}}}
}

2. 解决方案:

在执行writeCellData.setWriteCellStyle(writeCellStyle);前后可以对比下面的区别writeCellStyle
在这里插入图片描述

  • 具体的区别见下图:index=4代表的是BuiltinFormats的 "#,##0.00",格式。
    在这里插入图片描述在这里插入图片描述
@Slf4j
public class SignAmtCustTypeMergeStrategy implements CellWriteHandler {@Overridepublic void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder,List<WriteCellData<?>> cellDataList, Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) {if (cellType == CellType.STRING) {String stringCellValue = cell.getStringCellValue();if (StringUtils.isNotEmpty(stringCellValue)) {try {BigDecimal bigDecimal = new BigDecimal(stringCellValue);cell.setCellValue(bigDecimal.doubleValue());if (!cellDataList.isEmpty()) {WriteCellData<?> writeCellData = cellDataList.get(0);WriteCellStyle writeCellStyle = new WriteCellStyle();DataFormatData dataFormatData = new DataFormatData();dataFormatData.setIndex(IntegerEnum.FOUR.getValue().shortValue());writeCellStyle.setDataFormatData(dataFormatData);writeCellData.setWriteCellStyle(writeCellStyle);}} catch (Exception e){}}}}
}

注意:如果你在执行前你的 cell 数据就是 Number 则不需要执行BigDecimal bigDecimal = new BigDecimal(stringCellValue); cell.setCellValue(bigDecimal.doubleValue());这两行逻辑,如果你想让 String 转 Number并设置DataFormat 则需要设置这段,具体原因还不太清楚,但是不设置DataFormat设置会失败。(有懂得友友可以评论下~~~)

http://www.dtcms.com/wzjs/237718.html

相关文章:

  • seo建站要求百度电脑版官网下载
  • 北京网站建设公司 网络服务长沙百度推广运营公司
  • 网站建设制作设计营销 上海上海知名网站制作公司
  • 企业网站的页面布局模板网站免费
  • 萍乡公司做网站百度引擎搜索引擎
  • 响应式网站框架百度快速收录入口
  • 网站开发的推荐参考书南宁百度推广代理公司
  • 劳务公司win10系统优化软件
  • 企业标准信息公共服务平台官网广州seo学徒
  • 做网站优化公司报价网站seo优化技能
  • 杭州网站推广宣传百度一下你就知道了百度一下
  • 网站icp备案 技术负责人百度账户安全中心
  • 湖南省交通建设质量安全监督管理局网站亚马逊关键词排名提升
  • 龙华区住房和建设局网站手机版百度一下
  • 济南建站公司注意什么外贸seo推广招聘
  • 如何创建一个简单的网站网络营销理论基础有哪些
  • wordpress博客模板教程网站推广seo优化
  • 网站做https电商如何推广自己的产品
  • 上海浦东哪里有做网站的公司百度一下你就知道了主页
  • 重庆网站搭建公司谷歌搜索引擎入口
  • 五八同城网站开发了多久西安seo服务培训
  • 科技有限公司可以做网站建设吗?免费seo在线优化
  • 南宁网站推广如何添加百度指数
  • 中国建设银行网站对公账户首页东莞快速优化排名
  • 常州网站建设哪家好网络服务器多少钱一台
  • 网络公司经营范围能写建材吗seo对网络推广的作用是
  • 找人制作网站 优帮云优化网站关键词
  • net和cn哪个做网站好怎么营销一个产品
  • 苏州交友网站建设山西百度查关键词排名
  • 深圳网站优化建设查询域名网站