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:\…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving
地址:LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂,正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...
Docker拉取MySQL后数据库连接失败的解决方案
在使用Docker部署MySQL时,拉取并启动容器后,有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致,包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因,并提供解决方案。 一、确认MySQL容器的运行状态 …...
Java 与 MySQL 性能优化:MySQL 慢 SQL 诊断与分析方法详解
文章目录 一、开启慢查询日志,定位耗时SQL1.1 查看慢查询日志是否开启1.2 临时开启慢查询日志1.3 永久开启慢查询日志1.4 分析慢查询日志 二、使用EXPLAIN分析SQL执行计划2.1 EXPLAIN的基本使用2.2 EXPLAIN分析案例2.3 根据EXPLAIN结果优化SQL 三、使用SHOW PROFILE…...
