Java 导出Excel 自定义模板
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 自定义模板相关推荐
- java导出excel自定义表头,架构师必备!
主要内容 本文是从大型互联网系统的应用角度探讨分布式缓存的.本文站在原理.框架.架构.案例等多个视角对分布式缓存进行了探讨. 互联网系统随着容量需求的陡增,许多看似简单的存储类场景都面临着巨大的容量问 ...
- java导出excel模板数据
Java导出excel数据模板,这里直接贴代码开发,流程性的走下去就是步骤: String[] colName=new String[]{"期间","科目代码" ...
- Java操作poi导出Excel自定义字体颜色
Java操作poi导出Excel自定义字体颜色 功能介绍 POI操作Excel 第一步创建一个导出的工具类 整体定义表格字体样式 自定义表格字体样式 总结 功能介绍 Apache POI 是用Java ...
- java导出excel设置行高列宽_使用POI生成Excel文件,可以自动调整excel列宽
//autoSizeColumn()方法自动调整excel列宽 importjava.io.FileOutputStream; importorg.apache.poi.hssf.usermodel. ...
- JAVA导出Excel通用工具类——第一篇:详细介绍POI 导出excel的多种复杂情况,包括动态设置筛选、动态合并横向(纵向)单元格等多种复杂情况——保姆级别,真的不能再详细了,代码拿来即用)
JAVA导出Excel通用工具--第一篇:详细介绍POI 导出excel的多种复杂情况,包括动态设置筛选.动态合并横向(纵向)单元格等多种复杂情况--保姆级别,真的不能再详细了,封装通用工具类,代码拿 ...
- java导出Excel增加下拉框选项,解决小数据量和大数据量下拉框选项的问题
文章目录 java导出Excel增加下拉框选项 一.小数据量情况 二.大数据量情况 java导出Excel增加下拉框选项(java结合easyExcel) 添加传参模型ConsumablesAddDT ...
- JXLS导出Excel(模板导出)
1.导包 在pom.xml中加入依赖如下: <dependency><groupId>org.jxls</groupId><artifactId>jxl ...
- Java导出excel文件以.xlsx后缀结尾,可设置部分单元格只读
前言 最近在做一个小项目,有个模块的功能涉及到excel的导入导出,并且要求对导出的excel文件部分列和单元格设置为只读不可更改,在网上到处查找了一番资料,结合自己的想法,发现也并不难,这里整理记录 ...
- java填充excel表格中_填充导出Java导出excel表格
近期朋友几篇文章介绍了改填充导出的文章. 关联文章的地址 之前做项目的时候需要数据库导出excel格式,由于项目赶没实现,现在分享下如何用java导出excel.话不多说案例如下: 首先要做的是导入一 ...
- java 导出excel到多个sheet
java 导出excel 多个sheet 废话不多说了,直接上代码,有需要的盆友,可以看看.@TOC @RequestMapping("/exportAllyScoreCount" ...
最新文章
- 谷歌新作:视觉Transformer超越ResNet!!!从头开始训练!
- 有的OUTLOOK不能自动加载归档ARCHIVE邮件的问题
- [cpp] 字符数组,字符指针,sizeof,strlen总结
- python私有方法应用场景_Python私有属性私有方法应用实例解析
- leetcode 842. 将数组拆分成斐波那契序列(回溯算法)
- 强化学习《基于价值 - Double Q-Learning》
- python学习之路-day8
- Ubuntu上通过FinalShell或Asbru访问CentOS虚拟机
- secureCRT 如何上传下载文件
- oracle的exp程序,数据库expimp迁移的整个过程,及注意事项
- Centos7安装Fail2Ban并利用163邮箱发送邮件提醒功能
- VPX,CompactPCI serial 总线
- linux mint 安装ssh
- Ubuntu安装OpenCV
- Excel如何计算两列数据的乘积之和(相乘之后相加)
- Word文档docx的图标显示异常,doc的显示正常,但是可以用,解决办法
- E11000 duplicate key error collection
- 幻方加密代码——自动生成幻方密钥方法,罗伯法单偶数阶的解法代码基于python
- cf修改游戏客户端是什么意思_cf封号原因是非法篡改游戏客户端是什么意思
- 一脚踏三省,一路感悟不断
热门文章
- SolidWorks零件图转工程图
- 避坑宝典|win11升级最新预览体验版bug梳理
- 用ajax实现图片上传 帮你简单快速学会使用
- 索尼电视测试软件,索尼智能电视检测漏光、坏点等现象的简单小教程
- Windows Server 2019 Datacenter x64 安装 SHARP AR-2048N 打印机驱动
- 如何使用IDEA运行Spring实战(第四版)代码
- 职称计算机考试题库破解版2017,2017职称计算机考试题库及答案
- 《Sanmill 直棋游戏》创作之旅
- 一次破解TP-Link WAR308路由器的经历(2)
- TCP/IP协议五:HTTP协议详解