Java通过cellstyle属性设置Excel单元格常用样式全面总结
最近做了一个导出Excel的功能,导出是个常规导出,但是拿来模板一看,有一些单元格的样式设置,包括合并,背景色,字体等等,毕竟不是常用的东西,需要查阅资料完成,但是搜遍全网没有一个全面的,工作完成后,我便总结了一下,能够应对日常开发使用的Excel样式设置属性。
这里重点总结生成Excel中对单元格的样式设置,不讲解如何导出Excel,基本导出很容易。
直接上代码,按照注释来看依次是:
首先创建一个工作薄
下面所有的操作都是对这个style对象来设置的。
// 创建excel工作簿SXSSFWorkbook wb = new SXSSFWorkbook(getXSSFWorkbook(examPath), 1000);//获取样式CellStyle style = wb.createCellStyle();
1.设置单元格对齐,属性使用参照注解
//1、先设置单元格对齐方式//水平对齐,一般对齐方式。文本数据左对齐。数字、日期和时间是正确对齐的。布尔类型居中。style.setAlignment(HorizontalAlignment.GENERAL);//靠左style.setAlignment(HorizontalAlignment.LEFT);
// 靠右style.setAlignment(HorizontalAlignment.RIGHT);
// 居中style.setAlignment(HorizontalAlignment.CENTER);
// 填充单元格的值,跨越单元格的整个宽度style.setAlignment(HorizontalAlignment.FILL);
// 水平对齐对齐(左右齐平)。对于每行文本,将单元格中换行文本的每行左右对齐style.setAlignment(HorizontalAlignment.JUSTIFY);
// 水平对齐在多个单元格中居中style.setAlignment(HorizontalAlignment.CENTER_SELECTION);//平铺。表示单元格中每行文本中的text均匀分布.跨越单元格的宽度,左右外边距齐平。style.setAlignment(HorizontalAlignment.DISTRIBUTED);
2.设置单元格垂直对齐,参考注解
//2.此枚举值指示单元格的垂直对齐类型,即://垂直居中对齐style.setVerticalAlignment(VerticalAlignment.CENTER);//顶部对齐style.setVerticalAlignment(VerticalAlignment.TOP);//底部对齐style.setVerticalAlignment(VerticalAlignment.BOTTOM);//对齐。style.setVerticalAlignment(VerticalAlignment.JUSTIFY);//分布。style.setVerticalAlignment(VerticalAlignment.DISTRIBUTED);
3.设置背景色
//3.设置背景色style.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex());//必须设置 否则背景色不生效style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
背景色的IndexedColors类中属性对应的具体颜色如下所示:
(1)枚举值对应的颜色

(2)色卡名称对应的颜色
GREY_80_PERCENT
INDIGO
PLUM
BROWN
OLIVE_GREEN
DARK_GREEN
SEA_GREEN
DARK_TEAL
GREY_40_PERCENT
BLUE_GREY
ORANGE
LIGHT_ORANGE
GOLD
LIME
AQUA
LIGHT_BLUE
TAN
LAVENDER
ROSE
PALE_BLUE
LIGHT_YELLOW
LIGHT_GREEN
LIGHT_TURQUOISE
SKY_BLUE
BLUE
DARK_RED
VIOLET
TURQUOISE
YELLOW
PINK
DARK_BLUE
LIGHT_CORNFLOWER_BLUE
ROYAL_BLUE
CORAL
ORCHID
LIGHT_TURQUOISE
LEMON_CHIFFON
PLUM
CORNFLOWER_BLUE
GREY_50_PERCENT
GREY_25_PERCENT
TEAL
VIOLET
DARK_YELLOW
DARK_BLUE
GREEN
DARK_RED
TURQUOISE
PINK
YELLOW
BLUE
BRIGHT_GREEN
RED
WHITE
BLACK
4.设置字体有关样式
基本涵盖了Excel中对文字常用的操作行为
//4.设置字体样式Font titleFont = wb.createFont();
// 设置字体的名称(例如Arial)titleFont.setFontName("宋体");
// 以1/20点为单位设置字体高度。titleFont.setFontHeight((short) 10);
// 设置是否使用斜体titleFont.setItalic(true);
// 设置是否在文本中使用删除线横线titleFont.setStrikeout(true);//颜色设置titleFont.setColor((short) 111);
// 设置普通、上标或下标。titleFont.setTypeOffset((short) 5);//下划线titleFont.setUnderline((byte) 0000);
// 是否加粗titleFont.setBold(true);
// 设置字体高度titleFont.setFontHeightInPoints((short) 12);style.setFont(titleFont);
5.边框设置
//5.边框设置style.setBorderBottom(BorderStyle.THIN);style.setBorderLeft(BorderStyle.THIN);style.setBorderTop(BorderStyle.THIN);style.setBorderRight(BorderStyle.THIN);
6.单元格合并操作
合并单元格使用的是CellRangeAddress函数,该函数源码在下面,可以清晰看到输入参数代表什么怎么用,简单解释一下就是
X:起始行 Y:结束行 a:起始列 b:结束列
这样就清晰的画出了一个合并范围。
// 6.合并单元格SXSSFSheet sheet = wb.createSheet("测试sheet");sheet.addMergedRegion(new CellRangeAddress(X, Y, a, b));
//设置单元格宽度 ,X代表第几列sheet.setColumnWidth(X, 20 * 260);
public CellRangeAddress(int firstRow, int lastRow, int firstCol, int lastCol) {super(firstRow, lastRow, firstCol, lastCol);if (lastRow < firstRow || lastCol < firstCol) {throw new IllegalArgumentException("Invalid cell range, having lastRow < firstRow || lastCol < firstCol, " +"had rows " + lastRow + " >= " + firstRow + " or cells " + lastCol + " >= " + firstCol);}}
工作之余总结一下,也是方便自己日后使用,有不对的地方欢迎指正。
相关文章:
Java通过cellstyle属性设置Excel单元格常用样式全面总结
最近做了一个导出Excel的功能,导出是个常规导出,但是拿来模板一看,有一些单元格的样式设置,包括合并,背景色,字体等等,毕竟不是常用的东西,需要查阅资料完成,但是搜遍全网…...
如何查看WiFi密码
本文分享一下手机和电脑上如何查看已经连接过的WiFi的密码,然后好分享给他人。 手机上分享wifi密码很简单,步骤如下: 生成二维码,读取WiFi密码 1、首先,在“设置”中找到“无线网络”,点击需要查找密码的Wi…...
2023NOIP A层联测22 总结
T1 简单分析了性质,发现可以用双指针求值,后面又发现可以用类似于线段树求最大子段和的方式维护。用时 40min T2 是期望,想了 30min 没有思路,于是打暴力,但是打的时候没有想清楚,就打了很久,大…...
HTTPS的加密方式超详细解读
在了解https的加密方式之前,我们需要先行了解两个特别经典的传统加密方式: 1、对称加密 1.1、定义 需要对加密和解密使用相同密钥的加密算法。所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解…...
自定义SpringMVC拦截器,实现内外网访问控制功能
这篇文章简单介绍如何自定义一个SpringMVC拦截器,并通过拦截器实现具体的功能。 首先,需要创建一个自定义的拦截器类,该类实现HandlerInterceptor接口。 package cn.edu.sgu.www.mhxysy.interceptor;import cn.edu.sgu.www.mhxysy.feign.Fei…...
在pycharm中配置GPU训练环境(Anaconda)(yolov5)
目录 1. 具体的配置过程: 2. 在指定位置(路径)创建虚拟环境: 3. conda常用命令: 4: 在跑模型时候遇到的一些问题: 4.1: conda添加python解释器找不到对应的python.exe文件 4.2: 报错“OSError: [WinErr…...
【LeetCode刷题-链表】--146.LRU缓存
146.LRU缓存 方法一:哈希表双向链表 使用一个哈希表和一个双向链表维护所有在缓存中的键值对 双向链表按照被使用的顺序存储了这些键值对,靠近头部的键值对是最近使用的,而靠近尾部的键值对是最久使用的哈希表即为普通的哈希映射࿰…...
mysql 问题解答
01 Mysql有哪些数据类型 MySQL支持多种数据类型,这些类型可以分为几个大的类别:数值类型、日期和时间类型、字符串(字符和字节)类型、空间类型、JSON类型。下面是每种类型的简要说明和用途,以及示例。 数值类型 整型: TINYINT:非常小的整数,如性别标识(0代表女性,1代…...
组件与Props:React中构建可复用UI的基石
目录 组件:构建现代UI的基本单位 Props:组件之间的数据传递 Props的灵活性:构建可配置的组件 组件间的通信:通过回调函数传递数据 总结: 组件:构建现代UI的基本单位 组件是前端开发中的关键概念之一。…...
接口框架第二篇—unittest/pytest 有什么区别
1.用例编写方法 unittest 1)测试文件必须导入unittest包 2)测试类必须继承unittest.TestCase 3)测试类必须有unittest.main()方法 4)测试方法必须要以test_打头 pytest 1)测试文件名要以test_打头,或…...
Window 7 / 10 / 11 .bat .cmd 中文路径不识别解决方案
一般都是编码问题 我们在批处理的第一行加入: chcp 65001 进行转为UTF-8 编码就可以实现中文路径识别...
Linux命令(113)之rev
linux命令之rev 1.rev介绍 linux命令rev是将文件中的每行内容已字符为单位反向输出,即第一个字符最后输出,最后一个字符最先输出 2.rev用法 rev [参数] filename rev参数 参数说明-V显示版本信息-h显示帮助信息 3.实例 3.1.显示rev的版本信息 命令…...
QT+SQLite数据库配置和使用
一、简介 1.1 SQLite(sql)是一款开源轻量级的数据库软件,不需要server,可以集成在其他软件中,非常适合嵌入式系统。Qt5以上版本可以直接使用SQLite(Qt自带驱动)。 二、下载和配置 2.1 SQLite下载…...
若依分离版——配置多数据源(mysql和oracle),实现一个方法操作多个数据源
目录 一、若依平台配置 二、编写oracle数据库访问的各类文件 三. 一个方法操作多个数据源 一、若依平台配置 1、在ruoyi-admin的pom.xml添加依赖 <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version…...
Seata入门系列【19】分布式事务之CAP、BASE理论
1 CAP理论 CAP是以下三个词语的缩写: Consistency:一致性Availability:可用性Partition tolerance:分区容忍性 CAP理论的基础概念就是在分布式系统中,无法同时满足以上三点。 下面我们以一个简单的分布式系统&…...
界面控件DevExpress WPF Gauge组件 - 轻松实现个性化商业仪表盘
DevExpress WPF Gauge(仪表)控件包含了多种圆形仪表类型、水平和垂直线性仪表、分段和矩阵数字仪表以及状态指示器,同时还具有最终用户交互性的集成支持。 P.S:DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至…...
算法题:870. 优势洗牌
该算法是临时想出来的,Java代码的实现在时间上不占优,之后有时间要优化一下,目前就是给大家提供一下思路。 解题思路:田忌赛马的思想 贪心法。 Step1. 对两个数组进行排序。 Step2. 同时遍历排序后的nums2和nums1,将…...
[架构之路-252/创业之路-83]:目标系统 - 纵向分层 - 企业信息化的呈现形态:常见企业信息化软件系统 - 企业应用信息系统集成
目录 第一章 什么是企业应用信息系统集成What 1.1 简介 1.2 架构 二、为什么需要企业应用信息系统集成Why 三、如何实现企业应用信息系统集成 3.1 步骤 3.2 企业应用集成的层次 3.3 业务流程重组 第一章 什么是企业应用信息系统集成What 1.1 简介 企业应用信息系统集…...
MFC发送http https以及json解析
域名解析成IP char szWeb[128] "www.baidu.com";struct hostent *pHost NULL;pHost gethostbyname(szWeb);//完成主机名到域名的解析char *IP inet_ntoa(*((struct in_addr *)pHost->h_addr));CString ipStr IP;请求三部曲: 1、CInternetSession…...
UE5加载websocket模块为空
今天测试UE 发现工程启动不了,后来看到原来是websocket模块无法加载。 解决的它的方法很简单,这种问题一般会出现在源码版本的引擎或者是停电了,导致UElaunch版本损坏,解决方法是来到源码版本的引擎 这个目录下: D:\…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...
