JAVA POI导出EXCEL设置自定义样式(线框加粗,合并指定行,合计求和,冻结行):https://blog.csdn.net/Mou_O/article/details/123133202

@Overridepublic void exportCreatedN1ShippingPlan(List<N1CreateSHippingPlanInputDto> list) {// 查询要导出的数据List<N1CreateShippingPlanOutputDto> planList = repository.createN1ShippingPlan(list);if (!CollectionUtils.isEmpty(planList)) {HSSFWorkbook workbook = new HSSFWorkbook();  // 创建一个excel// excel生成过程: excel-->sheet-->row-->cellHSSFSheet sheet = workbook.createSheet("sheet1");// 列宽  (本次导出共11列)for (int i = 0; i < 11; i++) {sheet.setColumnWidth(i, 20 * 255);}// 字体样式Font fontStyle = workbook.createFont();fontStyle.setBold(true); // 加粗fontStyle.setFontName("黑体"); // 字体fontStyle.setFontHeightInPoints((short) 11); // 大小// 单元格样式HSSFCellStyle cellStyle = workbook.createCellStyle();// 将字体样式添加到单元格样式中cellStyle.setFont(fontStyle);// 边框,居中cellStyle.setAlignment(HorizontalAlignment.CENTER);cellStyle.setBorderBottom(BorderStyle.THIN);cellStyle.setBorderLeft(BorderStyle.THIN);cellStyle.setBorderRight(BorderStyle.THIN);cellStyle.setBorderTop(BorderStyle.THIN);// 创建第一行并填充值HSSFRow row1 = sheet.createRow(0);HSSFCell cellB1 = row1.createCell(0);cellB1.setCellValue("N-1(W-3)船运计划明细");cellB1.setCellStyle(cellStyle);// 合并首行单元格  // 起始行, 终止行, 起始列, 终止列CellRangeAddress cra = new CellRangeAddress(0, 0, 0, 10);sheet.addMergedRegion(cra);sheet.setDefaultRowHeight((short) 300);// 设置第一行高度sheet.getRow(0).setHeightInPoints(30);// 合并单元格后设置该行样式sheet.getRow(0).getCell(0).setCellStyle(cellStyle);// 创建第二行添加表头内容HSSFRow row2 = sheet.createRow(1);HSSFCell cellB2_1 = row2.createCell(0);cellB2_1.setCellValue("车型");cellB2_1.setCellStyle(cellStyle);HSSFCell cellB2_2 = row2.createCell(1);cellB2_2.setCellValue("装船PC NO.");cellB2_2.setCellStyle(cellStyle);HSSFCell cellB2_3 = row2.createCell(2);cellB2_3.setCellValue("装船D/I NO.");cellB2_3.setCellStyle(cellStyle);HSSFCell cellB2_4 = row2.createCell(3);cellB2_4.setCellValue("装船MTOC");cellB2_4.setCellStyle(cellStyle);HSSFCell cellB2_5 = row2.createCell(4);cellB2_5.setCellValue("装船MTOC台数");cellB2_5.setCellStyle(cellStyle);HSSFCell cellB2_6 = row2.createCell(5);cellB2_6.setCellValue("生产月");cellB2_6.setCellStyle(cellStyle);HSSFCell cellB2_7 = row2.createCell(6);cellB2_7.setCellValue("装货港");cellB2_7.setCellStyle(cellStyle);HSSFCell cellB2_8 = row2.createCell(7);cellB2_8.setCellValue("海船公司");cellB2_8.setCellStyle(cellStyle);HSSFCell cellB2_9 = row2.createCell(8);cellB2_9.setCellValue("海船名");cellB2_9.setCellStyle(cellStyle);HSSFCell cellB2_10 = row2.createCell(9);cellB2_10.setCellValue("海船ETD");cellB2_10.setCellStyle(cellStyle);HSSFCell cellB2_11 = row2.createCell(10);cellB2_11.setCellValue("卸货港");cellB2_11.setCellStyle(cellStyle);// 将正文数据填充到excel具体行for (int i = 0; i < planList.size(); i++) {N1CreateShippingPlanOutputDto dto = planList.get(i);// 创建新的一行HSSFRow row = sheet.createRow(i + 2);// 创建该行单元格  // 第1列HSSFCell cell0 = row.createCell(0);cell0.setCellValue(dto.getCarTypeCode());cell0.setCellStyle(cellStyle);// 第2列HSSFCell cell1 = row.createCell(1);cell1.setCellValue(dto.getPcNo());cell1.setCellStyle(cellStyle);// 第3列HSSFCell cellB2 = row.createCell(2);cellB2.setCellValue(dto.getDiNo());cellB2.setCellStyle(cellStyle);HSSFCell cell3 = row.createCell(3);cell3.setCellValue(dto.getMtoc());cell3.setCellStyle(cellStyle);HSSFCell cell4 = row.createCell(4);cell4.setCellValue(dto.getMtocNumber());cell4.setCellStyle(cellStyle);HSSFCell cell5 = row.createCell(5);cell5.setCellValue(dto.getCreateMonth());cell5.setCellStyle(cellStyle);HSSFCell cell6 = row.createCell(6);cell6.setCellValue(dto.getLoadingPort());cell6.setCellStyle(cellStyle);HSSFCell cellB7 = row.createCell(7);cellB7.setCellValue(dto.getVesselCompanyName());cellB7.setCellStyle(cellStyle);HSSFCell cell8 = row.createCell(8);cell8.setCellValue(dto.getVesselName());cell8.setCellStyle(cellStyle);HSSFCell cell9 = row.createCell(9);cell9.setCellValue(dto.getEtd());cell9.setCellStyle(cellStyle);HSSFCell cell10 = row.createCell(10);cell10.setCellValue(dto.getDischargePort());cell10.setCellStyle(cellStyle);}// 输出到本地String excelName = "/N-1(W-3)船运计划明细.xls";FileOutputStream out = null;try {out = new FileOutputStream(excelName);workbook.write(out);out.flush();out.close();} catch (Exception e) {e.printStackTrace();} finally {if (out != null)try {out.close();} catch (IOException e) {e.printStackTrace();}out = null;}}}

导出结果如下:

Java 导出Excel 自定义模板相关推荐

  1. java导出excel自定义表头,架构师必备!

    主要内容 本文是从大型互联网系统的应用角度探讨分布式缓存的.本文站在原理.框架.架构.案例等多个视角对分布式缓存进行了探讨. 互联网系统随着容量需求的陡增,许多看似简单的存储类场景都面临着巨大的容量问 ...

  2. java导出excel模板数据

    Java导出excel数据模板,这里直接贴代码开发,流程性的走下去就是步骤: String[] colName=new String[]{"期间","科目代码" ...

  3. Java操作poi导出Excel自定义字体颜色

    Java操作poi导出Excel自定义字体颜色 功能介绍 POI操作Excel 第一步创建一个导出的工具类 整体定义表格字体样式 自定义表格字体样式 总结 功能介绍 Apache POI 是用Java ...

  4. java导出excel设置行高列宽_使用POI生成Excel文件,可以自动调整excel列宽

    //autoSizeColumn()方法自动调整excel列宽 importjava.io.FileOutputStream; importorg.apache.poi.hssf.usermodel. ...

  5. JAVA导出Excel通用工具类——第一篇:详细介绍POI 导出excel的多种复杂情况,包括动态设置筛选、动态合并横向(纵向)单元格等多种复杂情况——保姆级别,真的不能再详细了,代码拿来即用)

    JAVA导出Excel通用工具--第一篇:详细介绍POI 导出excel的多种复杂情况,包括动态设置筛选.动态合并横向(纵向)单元格等多种复杂情况--保姆级别,真的不能再详细了,封装通用工具类,代码拿 ...

  6. java导出Excel增加下拉框选项,解决小数据量和大数据量下拉框选项的问题

    文章目录 java导出Excel增加下拉框选项 一.小数据量情况 二.大数据量情况 java导出Excel增加下拉框选项(java结合easyExcel) 添加传参模型ConsumablesAddDT ...

  7. JXLS导出Excel(模板导出)

    1.导包 在pom.xml中加入依赖如下: <dependency><groupId>org.jxls</groupId><artifactId>jxl ...

  8. Java导出excel文件以.xlsx后缀结尾,可设置部分单元格只读

    前言 最近在做一个小项目,有个模块的功能涉及到excel的导入导出,并且要求对导出的excel文件部分列和单元格设置为只读不可更改,在网上到处查找了一番资料,结合自己的想法,发现也并不难,这里整理记录 ...

  9. java填充excel表格中_填充导出Java导出excel表格

    近期朋友几篇文章介绍了改填充导出的文章. 关联文章的地址 之前做项目的时候需要数据库导出excel格式,由于项目赶没实现,现在分享下如何用java导出excel.话不多说案例如下: 首先要做的是导入一 ...

  10. java 导出excel到多个sheet

    java 导出excel 多个sheet 废话不多说了,直接上代码,有需要的盆友,可以看看.@TOC @RequestMapping("/exportAllyScoreCount" ...

最新文章

  1. 谷歌新作:视觉Transformer超越ResNet!!!从头开始训练!
  2. 有的OUTLOOK不能自动加载归档ARCHIVE邮件的问题
  3. [cpp] 字符数组,字符指针,sizeof,strlen总结
  4. python私有方法应用场景_Python私有属性私有方法应用实例解析
  5. leetcode 842. 将数组拆分成斐波那契序列(回溯算法)
  6. 强化学习《基于价值 - Double Q-Learning》
  7. python学习之路-day8
  8. Ubuntu上通过FinalShell或Asbru访问CentOS虚拟机
  9. secureCRT 如何上传下载文件
  10. oracle的exp程序,数据库expimp迁移的整个过程,及注意事项
  11. Centos7安装Fail2Ban并利用163邮箱发送邮件提醒功能
  12. VPX,CompactPCI serial 总线
  13. linux mint 安装ssh
  14. Ubuntu安装OpenCV
  15. Excel如何计算两列数据的乘积之和(相乘之后相加)
  16. Word文档docx的图标显示异常,doc的显示正常,但是可以用,解决办法
  17. E11000 duplicate key error collection
  18. 幻方加密代码——自动生成幻方密钥方法,罗伯法单偶数阶的解法代码基于python
  19. cf修改游戏客户端是什么意思_cf封号原因是非法篡改游戏客户端是什么意思
  20. 一脚踏三省,一路感悟不断

热门文章

  1. SolidWorks零件图转工程图
  2. 避坑宝典|win11升级最新预览体验版bug梳理
  3. 用ajax实现图片上传 帮你简单快速学会使用
  4. 索尼电视测试软件,索尼智能电视检测漏光、坏点等现象的简单小教程
  5. Windows Server 2019 Datacenter x64 安装 SHARP AR-2048N 打印机驱动
  6. 如何使用IDEA运行Spring实战(第四版)代码
  7. 职称计算机考试题库破解版2017,2017职称计算机考试题库及答案
  8. 《Sanmill 直棋游戏》创作之旅
  9. 一次破解TP-Link WAR308路由器的经历(2)
  10. TCP/IP协议五:HTTP协议详解