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

网站建设原则包括哪些方面网站开发公司需要什么资质

网站建设原则包括哪些方面,网站开发公司需要什么资质,59一起做网站,php 网站开发缓存有那几种前言#xff1a; 在使用easyExcel填充list时#xff0c;第一行存在合并单元格的情况下#xff0c;后面使用forceNewRow()填充的行却没有合并样式。 模板#xff1a; 填充后#xff1a; 自定义拦截器#xff1a; 根据官方文档的提示#xff0c;我们需要自定义拦截器来…前言 在使用easyExcel填充list时第一行存在合并单元格的情况下后面使用forceNewRow()填充的行却没有合并样式。 模板 填充后 自定义拦截器 根据官方文档的提示我们需要自定义拦截器来对单元格进行操作。拦截器MyHandler继承了easyExcel的AbstractMergeStrategy类并重写了merge方法用于定义具体的单元格合并逻辑。 merge方法主要用于检查当前单元格的上一行对应位置的单元格是否已被合并。如果已被合并则在当前单元格的位置创建一个新的合并区域并设置该区域的边框样式以此来保持填充list时合并区域的连续性。 public class MyHandler extends AbstractMergeStrategy {Overrideprotected void merge(Sheet sheet, Cell cell, Head head, Integer relativeRowIndex) {if(relativeRowIndexnull ||relativeRowIndex0){return;}int rowIndex cell.getRowIndex();int colIndex cell.getColumnIndex();sheetcell.getSheet();Row preRow sheet.getRow(rowIndex - 1);Cell preCell preRow.getCell(colIndex);//获取上一行的该格ListCellRangeAddress list sheet.getMergedRegions();for (int i 0; i list.size(); i) {CellRangeAddress cellRangeAddress list.get(i);if (cellRangeAddress.containsRow(preCell.getRowIndex()) cellRangeAddress.containsColumn(preCell.getColumnIndex())) {int lastColIndex cellRangeAddress.getLastColumn();int firstColIndex cellRangeAddress.getFirstColumn();int firstRowIndex cellRangeAddress.getFirstRow();CellRangeAddress cra new CellRangeAddress(rowIndex, rowIndex, firstColIndex, lastColIndex);sheet.addMergedRegion(cra);//设置合并区域cra的边框RegionUtil.setBorderBottom(BorderStyle.THIN, cra, sheet);RegionUtil.setBorderLeft(BorderStyle.THIN, cra, sheet);RegionUtil.setBorderRight(BorderStyle.THIN, cra, sheet);RegionUtil.setBorderTop(BorderStyle.THIN, cra, sheet);return;}}} } 定义好拦截器后我们要在填充时调用registerWriteHandler()将定义的拦截器作为参数。 填充后 单元格列合并 上面的效果已经满足了大部分人的需求。但可能有些人会有将第一列相同的item单元格进行列合并的需求那么我们只需要将拦截器中merge方法的新增合并区域cra修改如下。如果当前单元格的内容和上一行单元格内容相等我们要先移除上一行单元格的合并区域再和当前单元格组成新的合并区域而不能直接合并上一行单元格否则会报错 修改的部分调用了getCellContent()方法这个方法主要是来获取单元格的内容来进行比较的具体的实现如下 private String getCellContent(Cell cell) {if (cell null) {return null;}switch (cell.getCellType()) {case STRING:return cell.getStringCellValue();case NUMERIC:if (DateUtil.isCellDateFormatted(cell)) {return cell.getDateCellValue().toString();} else {return Double.toString(cell.getNumericCellValue());}case BOOLEAN:return Boolean.toString(cell.getBooleanCellValue());case FORMULA:return cell.getCellFormula();default:return ;} } 填充后 分页线 可以看到现在第一列的item相同内容的已经进行列合并了。但是我发现一个问题就是分页线错位了在填充完list之后分页线并没有随数据一起下移。所以我们需要在拦截器的merge方法中添加下面几行代码就可以重新设置分页线了。 下面代码将分页线设置在填充的list最后一行数据的下一行有其他需求的伙伴可以看情况自行修改 填充后 参考EasyExcel填充时合并单元格_easyexcel填充数据合并单元格-CSDN博客
http://www.zqtcl.cn/news/584787/

相关文章:

  • 阿里巴巴网站建设规划24小时学会网站建设pdf
  • wordpress建站以后网络公司注册资金多少
  • wordpress下载站模板优秀网站开发公司
  • ppt模板免费下载完整版免费网站微网站开发商
  • 网站建设前的分析第一小节内容wordpress自带主题下载失败
  • 深圳微信网站设计网站建设设计制作外包
  • 做数模必逛的网站wordpress 培训 主题
  • 开发网站语言天元建设集团有限公司电话
  • 兼职做网站访问量和数据关于外贸公司的网站模板
  • 旅游网站设计与实现软件定制报价单
  • 上海专业网站建站公网站开发人员
  • 淄博网站建设公司有几家网络培训平台下载
  • 优秀网站展示仲恺做网站
  • 达州做淘宝网站制作3d动画的软件
  • 服务器主机搭建网站wordpress 隐私设置
  • 专业的网站制作公司wordpress 网页模板
  • 中国建设人才服务信息网是什么网站深圳居家办公最新通知
  • 中国建设银行网站招聘wordpress 文件下载插件
  • 福州企业建站程序莆田市的网站建设公司
  • 龙岩做网站推广龙华品牌网站建设
  • 如何用网站开发工具停止网页进程微信网站 教程
  • 高端网站网站设计网站建设怎么分析市场分析
  • 株洲网站设计外包运营wordpress seo插件教程
  • 做湘菜的网站wordpress外贸网站
  • 可以做书的网站做网站的软件叫什么
  • 深圳营销型网站公司电话网站优化北京如何联系?
  • 网站配资公司网站织梦怎么关闭网站
  • 建设企业网站哪家好网站页面布局设计思路
  • 长尾词在线挖掘数字营销服务商seo
  • cms傻瓜式建站系统帝国 cms 网站关键字