final String[] title2 = {"序号", "商品编码", "商品编码映射", "商品名称", "商品单位", "商品规格", "供应商", "订购总数量"};
final int[] width2 = {(int) ((3 + 0.72) * 256), (int) ((12.5 + 0.72) * 256),(int) ((11.5 + 0.72) * 256), (int) ((30 + 0.72) * 256),(int) ((13.5 + 0.72) * 256), (int) ((10.5 + 0.72) * 256),(int) ((7.5 + 0.72) * 256), (int) ((3.5 + 0.72) * 256)
};
header2.put("merge", 7);  //首行合并 可根据自己的需求设计 设计指定行合并
header2.put("alternate", 0);  //指定奇偶行变色
header2.put("title", title2);  //设置行头
header2.put("headerCell", width2); //设置指定行款
head.put("header2", header2);
列举部分代码private void setTopHeader(List<ExportModel> list, XSSFWorkbook workbook, XSSFSheet sheet, String header) {Map<String, Object> map = (Map<String, Object>) head.get(header);final String[] headers = (String[]) map.get("title");int mg = (int) map.get("merge");XSSFCellStyle cs = workbook.createCellStyle();cs.setAlignment(HorizontalAlignment.CENTER);cs.setVerticalAlignment(VerticalAlignment.CENTER);cs.setBorderBottom(BorderStyle.THIN);cs.setBorderTop(BorderStyle.THIN);cs.setBorderLeft(BorderStyle.THIN);cs.setBorderRight(BorderStyle.THIN);XSSFFont font = workbook.createFont();font.setFontHeight(14);font.setBold(true);cs.setFont(font);XSSFRow row0 = sheet.createRow(0);XSSFCell xs = row0.createCell(0);xs.setCellValue(deliveryList.get(0).getDate() + "-sheet名称");xs.setCellStyle(cs);CellRangeAddress ca = new CellRangeAddress(0, 0, 0, mg + deliveist.size());sheet.addMergedRegion(ca);RegionUtil.setBorderBottom(BorderStyle.THIN, ca, sheet); // 下边框RegionUtil.setBorderLeft(BorderStyle.THIN, ca, sheet); // 左边框RegionUtil.setBorderRight(BorderStyle.THIN, ca, sheet); // 有边框RegionUtil.setBorderTop(BorderStyle.THIN, ca, sheet); // 上边框XSSFRow row1 = sheet.createRow(1);XSSFCellStyle cs1 = workbook.createCellStyle();cs1.setAlignment(HorizontalAlignment.CENTER);cs1.setVerticalAlignment(VerticalAlignment.CENTER);cs1.setBorderBottom(BorderStyle.THIN);cs1.setBorderTop(BorderStyle.THIN);cs1.setBorderLeft(BorderStyle.THIN);cs1.setBorderRight(BorderStyle.THIN);XSSFFont font1 = workbook.createFont();font1.setFontHeight(10);font1.setBold(true);cs1.setFont(font1);cs1.setWrapText(true);final int[] width = (int[]) map.get("headerCell");for (int i = 0; i < headers.length; i++) {sheet.setColumnWidth(i, width[i]);setCellValue(cs1, row1, i, headers[i]);}final XSSFColor grayXssfColor = new XSSFColor(new java.awt.Color(220, 220, 220));// 白色final XSSFColor whiteXssfColor = new XSSFColor(new java.awt.Color(255, 255, 255));XSSFCellStyle cs2 = workbook.createCellStyle();cs2.cloneStyleFrom(cs1);cs2.setRotation((short) 255);cs2.setBorderBottom(BorderStyle.THIN);cs2.setBorderTop(BorderStyle.THIN);cs2.setBorderLeft(BorderStyle.THIN);cs2.setBorderRight(BorderStyle.THIN);cs2.setFillForegroundColor(grayXssfColor);cs2.setFillPattern(FillPatternType.SOLID_FOREGROUND);XSSFCellStyle cs3 = workbook.createCellStyle();cs3.cloneStyleFrom(cs2);cs3.setFillForegroundColor(whiteXssfColor);cs3.setFillPattern(FillPatternType.NO_FILL);AtomicInteger ai = new AtomicInteger(headers.length);int alternate = (int) map.get("alternate");for (ExportModel x : list) {sheet.setColumnWidth(ai.get(), (int) ((3.0 + 0.72) * 256));if (ai.get() % 2 == alternate) {setCellValue(cs2, row1, ai.get(), x.getBName());} else {setCellValue(cs3, row1, ai.get(), x.getAName());}ai.addAndGet(1);}
}

Excel复杂表头构建相关推荐

  1. plsql创建中文表头_如何使用快捷键来提升Excel斜线表头绘制速度,照着学就行了...

    小编看到在很多朋友分享的绘制Excel斜线表头的教程中,是通过使用多次敲击空格键的方式来调整斜线表头内的文字位置.我这还有一种方法,可以利用快捷键来提升绘制Excel斜线表头的速度,感兴趣的朋友们可以 ...

  2. java excel 复杂表头_中国式复杂报表开发教程(4)—类Excel复杂表头报表

    矩表控件出现之前,对于复杂表头的报表的实现,如多行表头嵌套,列单元格合并等,只能通过一些Look Like的方法来实现,并没有做到真正的底层实现来解决实质性的内容.复杂表头报表,甚至只能通过Table ...

  3. Excel多表头导出(.net)

    分享一下以前做的.net版本的Excel多表头导出,其中使用了第三方插件NPOI (java推荐使用POI). demo下载 以下是算法部分: public static string ExportT ...

  4. poi 获取解析 excel 获取表头信息以及内容

    1.导入依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</arti ...

  5. 怎么在html的表格中加筛选,excel中表头合并单元格的筛选

    EXCEL中表头合并,怎么实现筛选数据? 亲,如下面的动画演示,选中第5行,点击菜单"数据","筛驯. excel中有合并单元格的行怎么才能筛选整个表格其中 直接对合并过 ...

  6. java多表头导出excel表格_【每日一点】1. Java如何实现导出Excel单表头或多表头

    一.背景 在后台项目中,经常会遇到将呈现的内容导出到Excel的需求,通过都是导出单个表头的Excel文件,如果存在级联关系的情况下,也就需要导出多表头的场景.今天这篇文章就是分享导出Excel单表头 ...

  7. Poi导入Excel校验表头

    我们在日常的开发过程中,poi导入数据要根据注解的列名和顺序进行识别,那么首先要校验模版的正确与否,即表头是否正确,然后才能开始数据和业务层面的校验,最近也是被这个东西烦的不行,解决后记录一下,一个是 ...

  8. Excel 斜线表头制作方法

    Excel 斜线表头制作方法

  9. excel斜线表头的制作

    内容提要:本文介绍excel斜线表头的制作方法,并给出实例讲解. Excel中,如何制作复杂的斜线表头?斜线表头,就是包含有斜线和文字的单元格.IT部落窝给出方法,让学习者少走弯路.利用直线和文本框工 ...

最新文章

  1. 09.20类类型random
  2. Leetcode 58.最后一个单词的长度 (每日一题 20210705)
  3. docker学习------centos7.5下的swarm集群可视化构建
  4. ASP.NET中使用Cache类来缓存页面的信息
  5. (搬家文) c++引用深入探讨
  6. c语言中的函数可变参数列表相关的三个宏
  7. AE插件自动创建图层工具LayerGenerators使用教程
  8. 【学习笔记】人体姿态识别
  9. 诺基亚 java 软件_初学篇:诺基亚手机软件安装不求人
  10. 无法删除文件 数据错误 循环冗余检查
  11. 如何评价腾讯发布的区块链游戏《一起来捉妖》?
  12. 读《自控力:斯坦福大学最受欢迎心理学课程》体会
  13. 阿里云视频点播Demo
  14. 人工智能之自动驾驶系列(一):概要
  15. LinuxC语言——通讯录
  16. 秒懂机器学习---k-近邻算法实战
  17. Go实现json字符串与各类struct相互转换
  18. GitCafe加入开发者服务联盟,并带您一起回顾JDDC!
  19. 合泰32笔记2-GPIO使用(2022/2/20)
  20. 管理感悟:什么是对企业的忠诚(全新观点)

热门文章

  1. html实现好看的生日祝福(源码)
  2. 基于 Redis 的分布式锁到底安全吗(下)?
  3. 设数列{Xn}有界,又limYn=0,证明:limXnYn=0
  4. pwcorr_a:输出相关系数矩阵至Word和Excel
  5. spring boot 虚拟路径url中文无法访问
  6. Unity3D游戏开发中的人工智能AI 简单实例
  7. 电脑没有声音怎么办?
  8. 执行编译的.EXE时提示ImportError: cannot import name ‘server‘ from ‘server‘ 解决方案
  9. Python环境离线下载安装
  10. 微星msi GS66黑苹果安装引导包(OpenCore for macOS Monterey)