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

Java导出Excel给每一列设置不同样式示例

Excel导出这里不讲,方法很多,原生的POI可以参照 Java原生POI实现的Excel导入导出(简单易懂)
这里只说怎么给Excel每一列设置不同的样式,比如下面这样的

在这里插入图片描述

直接上代码

@Overridepublic void exportTemplate(HttpServletRequest request, HttpServletResponse response) throws Exception {try (Workbook wb = new SXSSFWorkbook(1000)) {// 构建一个导出页Sheet sheet = wb.createSheet("用户信息表");CellStyle style = wb.createCellStyle();style.setAlignment(HorizontalAlignment.CENTER);style.setVerticalAlignment(VerticalAlignment.CENTER);style.setBorderBottom(BorderStyle.THIN);style.setBorderLeft(BorderStyle.THIN);style.setBorderTop(BorderStyle.THIN);style.setBorderRight(BorderStyle.THIN);style.setWrapText(true);// 自动换行Font font = wb.createFont();font.setFontName("宋体");font.setFontHeightInPoints((short) 11);style.setFont(font);DataFormat format = wb.createDataFormat();style.setDataFormat(format.getFormat("@")); // 设置为文本格式sheet.setDefaultRowHeight((short) 500);// 构建excel抬头Row row0 = sheet.createRow((int) 0); // 第一行Cell cell0_0 = row0.createCell(0);cell0_0.setCellValue("序号");cell0_0.setCellStyle(style);sheet.setColumnWidth(0, 15 * 256);// 列宽sheet.setDefaultColumnStyle(0, style);Cell cell0_1 = row0.createCell(1);cell0_1.setCellValue("姓名");cell0_1.setCellStyle(style);sheet.setColumnWidth(1, 15 * 256);// 列宽sheet.setDefaultColumnStyle(1, style);Cell cell0_2 = row0.createCell(2);cell0_2.setCellValue("国家标识码");cell0_2.setCellStyle(style);sheet.setColumnWidth(2, 15 * 256);// 列宽sheet.setDefaultColumnStyle(2, style);Cell cell0_3 = row0.createCell(3);cell0_3.setCellValue("手机号");cell0_3.setCellStyle(style);sheet.setColumnWidth(3, 15 * 256);// 列宽sheet.setDefaultColumnStyle(3, style);Cell cell0_4 = row0.createCell(4);cell0_4.setCellValue("身份证号");cell0_4.setCellStyle(style);sheet.setColumnWidth(4, 20 * 256);// 列宽sheet.setDefaultColumnStyle(4, style);Cell cell0_5 = row0.createCell(5);cell0_5.setCellValue("部门名称(选填)");cell0_5.setCellStyle(style);sheet.setColumnWidth(5, 20 * 256);// 列宽sheet.setDefaultColumnStyle(5, style);Cell cell0_6 = row0.createCell(6);cell0_6.setCellValue("职位(选填,多个用英文/分隔)");cell0_6.setCellStyle(style);sheet.setColumnWidth(6, 35 * 256);// 列宽sheet.setDefaultColumnStyle(6, style);// 构建示例Row row1 = sheet.createRow((int) 1); // 第二行CellStyle style1 = wb.createCellStyle();style1.setAlignment(HorizontalAlignment.CENTER);style1.setVerticalAlignment(VerticalAlignment.CENTER);style1.setBorderBottom(BorderStyle.THIN);style1.setBorderLeft(BorderStyle.THIN);style1.setBorderTop(BorderStyle.THIN);style1.setBorderRight(BorderStyle.THIN);style1.setWrapText(true);// 自动换行style1.setFont(font);DataFormat format1 = wb.createDataFormat();style1.setDataFormat(format1.getFormat("@")); // 设置为文本格式style1.setFillForegroundColor((short) 13);// 设置背景色style1.setFillPattern(FillPatternType.SOLID_FOREGROUND);Cell cell1_0 = row1.createCell(0);cell1_0.setCellValue("示例(保留)");cell1_0.setCellStyle(style1);Cell cell1_1 = row1.createCell(1);cell1_1.setCellValue("张三");cell1_1.setCellStyle(style1);Cell cell1_2 = row1.createCell(2);cell1_2.setCellValue("+86");cell1_2.setCellStyle(style1);Cell cell1_3 = row1.createCell(3);cell1_3.setCellValue("13700002222");cell1_3.setCellStyle(style1);Cell cell1_4 = row1.createCell(4);cell1_4.setCellValue("452186200001010001");cell1_4.setCellStyle(style1);Cell cell1_5 = row1.createCell(5);cell1_5.setCellValue("技术部");cell1_5.setCellStyle(style1);Cell cell1_6 = row1.createCell(6);cell1_6.setCellValue("科室主任/细胞生物学家/博士生导师");cell1_6.setCellStyle(style1);// 构建第二列Row row2 = sheet.createRow((int) 2); // 第一行Cell cell2_0 = row2.createCell(0);cell2_0.setCellValue("1");cell2_0.setCellStyle(style);Cell cell2_1 = row2.createCell(1);cell2_1.setCellValue("");cell2_1.setCellStyle(style);Cell cell2_2 = row2.createCell(2);cell2_2.setCellValue("");cell2_2.setCellStyle(style);Cell cell2_3 = row2.createCell(3);cell2_3.setCellValue("");cell2_3.setCellStyle(style);Cell cell2_4 = row2.createCell(4);cell2_4.setCellValue("");cell2_4.setCellStyle(style);Cell cell2_5 = row2.createCell(5);cell2_5.setCellValue("");cell2_5.setCellStyle(style);Cell cell2_6 = row2.createCell(6);cell2_6.setCellValue("");cell2_6.setCellStyle(style);String fileName = "用户信息表.xlsx";if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0) {fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1"); // firefox浏览器} else if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0) {fileName = URLEncoder.encode(fileName, "UTF-8");// IE浏览器} else if (request.getHeader("User-Agent").toUpperCase().indexOf("CHROME") > 0) {fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");// 谷歌}response.reset();response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");  response.setHeader("Content-Disposition", "attachment; filename=" + fileName);wb.write(response.getOutputStream());response.getOutputStream().close();}}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 谷粒商城实战笔记-64-商品服务-API-品牌管理-OSS前后联调测试上传
  • 【BSV生态亮点】体育进入区块链时代:波兰奥委会与Zetly建立战略伙伴关系
  • 【Golang 面试 - 基础题】每日 5 题(九)
  • WPF多语言国际化,中英文切换
  • day7 使用 Protobuf 通信
  • 层次特征的尺度艺术:sklearn中的缩放技术
  • 【语音识别和生成】语音识别和语音合成技术
  • 基于SpringBoot+Vue前后端分离的高校实验室预约管理系统的设计与实现
  • 细说MCU的DAC改变输出信号频率的方法
  • AUTOSAR BSW OBD Config 配置
  • 第09课 Scratch入门篇:小鸡啄米-自制积木实现
  • 随堂测小程序的设计
  • Git安装流程以及如何将本地代码推送到新建的git仓库(IDEA操作简单易学)
  • 【LLM开源模型】LLMs-Llama3.1-240723通关攻略笔记
  • 具身智能又进一步!卡内基梅隆Meta苏黎世联邦实现虚拟人超灵活抓取
  • 11111111
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • codis proxy处理流程
  • export和import的用法总结
  • Golang-长连接-状态推送
  • gops —— Go 程序诊断分析工具
  • in typeof instanceof ===这些运算符有什么作用
  • java正则表式的使用
  • JS实现简单的MVC模式开发小游戏
  • magento 货币换算
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • SQL 难点解决:记录的引用
  • 排序(1):冒泡排序
  • 如何胜任知名企业的商业数据分析师?
  • 深入浅出webpack学习(1)--核心概念
  • 正则表达式-基础知识Review
  • ​第20课 在Android Native开发中加入新的C++类
  • # Redis 入门到精通(八)-- 服务器配置-redis.conf配置与高级数据类型
  • # wps必须要登录激活才能使用吗?
  • #传输# #传输数据判断#
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • ${factoryList }后面有空格不影响
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (二)斐波那契Fabonacci函数
  • (函数)颠倒字符串顺序(C语言)
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (十三)Maven插件解析运行机制
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (轉)JSON.stringify 语法实例讲解
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .net连接MySQL的方法
  • .Net中wcf服务生成及调用
  • [000-01-030].Zookeeper学习大纲
  • [AI]文心一言爆火的同时,ChatGPT带来了这么多的开源项目你了解吗
  • [AR]Vumark(下一代条形码)
  • [AX]AX2012开发新特性-禁止表或者表字段
  • [BZOJ4566][HAOI2016]找相同字符(SAM)