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

Android修行手册 - POI操作Excel常用样式(字体,背景,颜色,Style)

  • 点击跳转=>Unity3D特效百例
  • 点击跳转=>案例项目实战源码
  • 点击跳转=>游戏脚本-辅助自动化
  • 点击跳转=>Android控件全解手册
  • 点击跳转=>Scratch编程案例
  • 点击跳转=>软考全系列

👉关于作者

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎底部卡片私我,交流让学习不再孤单

在这里插入图片描述

👉实践过程

😜问题

在 Android 平台如何把 Excel 的 Style 样式玩出花来。

😜解决

private static Map<String, CellStyle> createStyles(Workbook wb) {Map<String, CellStyle> styles = new HashMap<String, CellStyle>();  // 创建一个样式映射表,用于存储单元格样式CellStyle style;  // 定义单元格样式Font titleFont = wb.createFont();  // 创建一个字体对象,用于设置标题样式titleFont.setFontHeightInPoints((short) 18);  // 设置字体高度为18点titleFont.setBoldweight(Font.BOLDWEIGHT_BOLD);  // 设置字体为粗体style = wb.createCellStyle();  // 创建一个单元格样式style.setAlignment(CellStyle.ALIGN_CENTER);  // 设置对齐方式为居中style.setVerticalAlignment(CellStyle.VERTICAL_CENTER);  // 设置垂直对齐方式为居中style.setFont(titleFont);  // 设置字体为标题字体styles.put("title", style);  // 将标题样式放入样式映射表中Font monthFont = wb.createFont();  // 创建一个字体对象,用于设置月份样式monthFont.setFontHeightInPoints((short) 11);  // 设置字体高度为11点monthFont.setColor(IndexedColors.WHITE.getIndex());  // 设置字体颜色为白色style = wb.createCellStyle();  // 创建一个单元格样式style.setAlignment(CellStyle.ALIGN_CENTER);  // 设置对齐方式为居中style.setVerticalAlignment(CellStyle.VERTICAL_CENTER);  // 设置垂直对齐方式为居中style.setFillForegroundColor(IndexedColors.GREY_50_PERCENT.getIndex());  // 设置填充颜色为灰色的50%style.setFillPattern(CellStyle.SOLID_FOREGROUND);  // 设置填充图案为实心填充style.setFont(monthFont);  // 设置字体为月份字体style.setWrapText(true);  // 设置文本自动换行styles.put("header", style);  // 将月份样式放入样式映射表中style = wb.createCellStyle();  // 创建一个单元格样式style.setAlignment(CellStyle.ALIGN_CENTER);  // 设置对齐方式为居中style.setWrapText(true);  // 设置文本自动换行style.setBorderRight(CellStyle.BORDER_THIN);  // 设置右边界为细线style.setRightBorderColor(IndexedColors.BLACK.getIndex());  // 设置右边界颜色为黑色style.setBorderLeft(CellStyle.BORDER_THIN);  // 设置左边界为细线style.setLeftBorderColor(IndexedColors.BLACK.getIndex());  // 设置左边界颜色为黑色style.setBorderTop(CellStyle.BORDER_THIN);  // 设置上边界为细线style.setTopBorderColor(IndexedColors.BLACK.getIndex());  // 设置上边界颜色为黑色style.setBorderBottom(CellStyle.BORDER_THIN);  // 设置下边界为细线style.setBottomBorderColor(IndexedColors.BLACK.getIndex());  // 设置下边界颜色为黑色styles.put("cell", style);  // 将单元格样式放入样式映射表中style = wb.createCellStyle();  // 创建一个单元格样式style.setAlignment(CellStyle.ALIGN_CENTER);  // 设置对齐方式为居中style.setVerticalAlignment(CellStyle.VERTICAL_CENTER);  // 设置垂直对齐方式为居中style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());  // 设置填充颜色为灰色的25%style.setFillPattern(CellStyle.SOLID_FOREGROUND);  // 设置填充图案为实心填充style.setDataFormat(wb.createDataFormat().getFormat("0.00"));  // 设置数据格式为两位小数styles.put("formula", style);  // 将公式样式放入样式映射表中//*********************add by germmy@20131013 start************************//普通单元格,四周有黑线style = wb.createCellStyle();  // 创建一个样式对象style.setAlignment(CellStyle.ALIGN_RIGHT);  // 设置单元格内容右对齐style.setWrapText(true);  // 设置单元格内容自动换行style.setBorderRight(CellStyle.BORDER_THIN);  // 设置单元格右边界为细实线style.setRightBorderColor(IndexedColors.BLACK.getIndex());  // 设置单元格右边界颜色为黑色style.setBorderLeft(CellStyle.BORDER_THIN);  // 设置单元格左边界为细实线style.setLeftBorderColor(IndexedColors.BLACK.getIndex());  // 设置单元格左边界颜色为黑色style.setBorderTop(CellStyle.BORDER_THIN);  // 设置单元格上边界为细实线style.setTopBorderColor(IndexedColors.BLACK.getIndex());  // 设置单元格上边界颜色为黑色style.setBorderBottom(CellStyle.BORDER_THIN);  // 设置单元格下边界为细实线style.setBottomBorderColor(IndexedColors.BLACK.getIndex());  // 设置单元格下边界颜色为黑色style.setDataFormat(wb.createDataFormat().getFormat("#,##0"));  // 设置单元格数据格式为千分位逗号分隔的货币格式styles.put("normalcell", style);  // 将该样式对象添加到样式集合中,键为"normalcell"//横向求和公式,粗体,有淡紫色背景,四周有黑色style = wb.createCellStyle();XSSFCellStyle styleTemp = ((XSSFCellStyle) style);  // 将style转换为XSSFCellStyle类型,并赋值给styleTemp变量styleTemp.setAlignment(CellStyle.ALIGN_RIGHT);  // 设置styleTemp的对齐方式为右对齐styleTemp.setVerticalAlignment(CellStyle.VERTICAL_CENTER);  // 设置styleTemp的垂直对齐方式为居中对齐Font formulaFont = wb.createFont();  // 创建一个新的字体对象formulaFontformulaFont.setFontName("宋体");  // 设置formulaFont的字体名为宋体formulaFont.setFontHeightInPoints((short) 11);  // 设置formulaFont的字体大小为11磅formulaFont.setBoldweight(Font.BOLDWEIGHT_BOLD);  // 设置formulaFont的粗体样式为加粗styleTemp.setFont(formulaFont);  // 设置styleTemp的字体为formulaFont//控制颜色styleTemp.setFillForegroundColor(new XSSFColor(new byte[]{(byte) 255, (byte) 0, (byte) 0, (byte) 255}));
//      style.setFillForegroundColor(IndexedColors.LIGHT_TURQUOISE.getIndex());styleTemp.setFillPattern(CellStyle.SOLID_FOREGROUND); // 设置填充图案为实心填充styleTemp.setBorderRight(CellStyle.BORDER_THIN); // 设置右边界为细边框,颜色为黑色styleTemp.setRightBorderColor(IndexedColors.BLACK.getIndex());styleTemp.setBorderLeft(CellStyle.BORDER_THIN); // 设置左边界为细边框,颜色为黑色styleTemp.setLeftBorderColor(IndexedColors.BLACK.getIndex());styleTemp.setBorderTop(CellStyle.BORDER_THIN); // 设置上边界为细边框,颜色为黑色styleTemp.setTopBorderColor(IndexedColors.BLACK.getIndex());styleTemp.setBorderBottom(CellStyle.BORDER_THIN); // 设置下边界为细边框,颜色为黑色styleTemp.setBottomBorderColor(IndexedColors.BLACK.getIndex());// 设置数据格式为千分位格式styleTemp.setDataFormat(wb.createDataFormat().getFormat("#,##0"));styles.put("formula_h", styleTemp);//横向的公式颜色style = wb.createCellStyle(); //纵向求和公式,四周有黑线style.setAlignment(CellStyle.ALIGN_RIGHT); // 设置单元格样式水平对齐方式为右对齐style.setVerticalAlignment(CellStyle.VERTICAL_CENTER); // 设置单元格样式垂直对齐方式为居中对齐style.setBorderRight(CellStyle.BORDER_THIN); // 设置单元格右边界为细实线,颜色为黑色style.setRightBorderColor(IndexedColors.BLACK.getIndex());style.setBorderLeft(CellStyle.BORDER_THIN); // 设置单元格左边界为细实线,颜色为黑色style.setLeftBorderColor(IndexedColors.BLACK.getIndex());style.setBorderTop(CellStyle.BORDER_THIN); // 设置单元格顶部边界为细实线,颜色为黑色style.setTopBorderColor(IndexedColors.BLACK.getIndex());style.setBorderBottom(CellStyle.BORDER_THIN); // 设置单元格底部边界为细实线,颜色为黑色style.setBottomBorderColor(IndexedColors.BLACK.getIndex());style.setDataFormat(wb.createDataFormat().getFormat("#,##0")); // 设置单元格数据格式为千分位格式styles.put("formula_v", style);//纵向的公式颜色style = wb.createCellStyle();  // 创建一个样式对象style.setAlignment(CellStyle.ALIGN_CENTER);  // 设置文本对齐方式为居中style.setVerticalAlignment(CellStyle.VERTICAL_CENTER);  // 设置垂直对齐方式为居中style.setFillForegroundColor(IndexedColors.GREY_40_PERCENT.getIndex());  // 设置填充颜色为灰色(40%)style.setFillPattern(CellStyle.SOLID_FOREGROUND);  // 设置填充模式为实心填充style.setDataFormat(wb.createDataFormat().getFormat("0.00"));  // 设置数据格式为两位小数styles.put("formula_2", style);return styles;}

该函数通过调用Workbook的createFont()方法创建了一个字体对象,并设置了一些属性,比如字体的高度和粗细。然后,通过调用Workbook的createCellStyle()方法创建了一个单元格样式对象,并设置了一些属性,比如对齐方式和填充颜色。之后,将之前创建的字体对象设置为单元格样式的字体。最后,将单元格样式对象存储在一个Map中,以字符串作为键和单元格样式对象作为值。这个函数的目的是创建一些常用的单元格样式,并存储在一个Map中方便后续使用。

👉其他

📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:https://zhima.blog.csdn.net/
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

温馨提示点击下方卡片获取更多意想不到的资源。
空名先生

相关文章:

Android修行手册 - POI操作Excel常用样式(字体,背景,颜色,Style)

点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&…...

Sprint Boot 学习路线 5

Spring MVC Spring MVC是Spring框架的一部分&#xff0c;是一个Web应用程序框架。它旨在使用Model-View-Controller&#xff08;MVC&#xff09;设计模式轻松构建Web应用程序。 在Spring MVC中&#xff0c;应用程序被分为三个主要组件&#xff1a;Model、View和Controller。M…...

git02->gui图形化界面使用,ssh协议,idea集成GIT

gui图形化界面使用ssh协议idea集成GIT 1.gui图形化界面使用 2.ssh协议 git/github生成密钥并通过 操作分为本地电脑配置和github网站配置 第一步&#xff1a;本地电脑配置 右键空白处&#xff0c;选择Git Bash Here打开相关命令窗口 1.配置用户名和邮箱&#xff08;如果已经配…...

面向对象 元类 gil log 协程 垃圾回收 描述符 property

封装、继承、多态 当谈到封装、继承和多态时,通常是在面向对象编程 (OOP) 的上下文中讨论的。 封装 (Encapsulation) 示例: class Person: def __init__(self, name, age): self.__name = name # 使用双下划线前缀将属性变为私有 self.__age = age ​ de…...

bibitem格式 添加参考文献

这次写论文时遇到一种bibitem格式的参考文献&#xff0c;latex中没有bib文件 分三步走 找到这篇文章的Bib Tex的引用&#xff0c;然后新建bib文件&#xff0c;命名为下图&#xff1a; 然后把Bib Tex引用的内容复制到上图的文件中&#xff0c;新建tex文件 内容为 \document…...

Leetcode 2934. Minimum Operations to Maximize Last Elements in Arrays

Leetcode 2934. Minimum Operations to Maximize Last Elements in Arrays 1. 解题思路2. 代码实现 题目链接&#xff1a;2934. Minimum Operations to Maximize Last Elements in Arrays 1. 解题思路 这一题思路上其实很简单&#xff0c;直接分情况考察一下最后一个元素交换…...

02:2440---时钟体系

目录 一:时钟控制 1:基本概念 2:时钟结构图 3:结构图分析 4:总线 5:寄存器 A:FCLK--MPLLCON B:HCLK和PCLK--CLKDIVN C:注意 二:上电复位 1:上电复位 2:时钟选择 三:代码 一:时钟控制 1:基本概念 S3C2440A中的时钟控制逻辑可以产生所需的时钟信号&#xff0c;包括C…...

SOEM源码解析——ecx_siiSM(读取SII的SM信息)

0 工具准备 1.SOEM-master-1.4.0源码1 ecx_siiSM函数总览 /** Get SM data from SII SM section in slave EEPROM.从SII的SM段获取SM信息* @param[in] context = context struct 句柄* @param[in] slave = slave number 从站序号* @param[out] SM = first SM str…...

【见缝插针】射击类游戏-微信小程序项目开发流程详解

还记得小时候玩过的见缝插针游戏吗&#xff0c;比一比看谁插得针比较多&#xff0c;可有趣了&#xff0c;当然了&#xff0c;通过它可以训练自己的手速反应&#xff0c;以及射击水平&#xff0c;把握时机&#xff0c;得分越高就越有成就感&#xff0c;相信小朋友们会喜欢它的&a…...

flutter开发实战-TweenSequence实现动画序列

flutter开发实战-TweenSequence实现动画序列 一、TweenSequence TweenSequence是允许创建一个Animation由一系列补间动画来确定值&#xff0c;每个TweenSequenceItem都有定义在动画的持续时间的权重确定动画间隔。 TweenSequence 动画组类TweenSequenceItem 用来定义每一个动…...

Flowable 外部表单

内置表单需要在每个节点中去配置&#xff0c;当如果多个节点使用同一套表单属性就要配置多次比较麻烦&#xff0c;修改的时候也要修改多次&#xff0c;外部表单可以定义一次&#xff0c;然后其它节点都去引用同一个表单属性。 外部表单需要定义一个.form后缀的文件。 外部表单…...

[mysql]索引优化-2

目录 一、分页查询优化1.根据自增且连续的主键排序的分页查询2.根据非主键字段排序的分页查询 二、Join关联查询优化1.嵌套循环连接 Nested-Loop Join(NLJ) 算法2.基于块的嵌套循环连接 Block Nested-Loop Join(BNL)算法 三、count(*)查询优化1.查询mysql自己维护的总行数2.sho…...

数据分析实战 | 泊松回归——航班数据分析

目录 一、数据及分析对象 二、目的及分析任务 三、方法及工具 四、数据读入 五、数据理解 六、数据准备 七、模型训练 八、模型评价 一、数据及分析对象 CSV文件&#xff1a;o-ring-erosion-only.csv 数据集链接&#xff1a;https://download.csdn.net/download/m0_7…...

Fliki AI:让视频创作更简单、更高效

在当今的数字时代&#xff0c;视频已经成为人们获取信息和娱乐的重要方式。无论是企业宣传、教育培训还是个人创作&#xff0c;视频都发挥着越来越重要的作用。然而&#xff0c;视频制作是一项复杂的工作&#xff0c;需要掌握一定的技能和经验。这对于初学者或没有专业视频制作…...

webGL编程指南 第五章 MultiTexture.html

我会持续更新关于wegl的编程指南中的代码。 当前的代码不会使用书中的缩写&#xff0c;每一步都是会展开写。希望能给后来学习的一些帮助 git代码地址 &#xff1a;空 上一章节中我们学习texParameteri的使用,这一章节中我们两个图片进行混合 <!DOCTYPE html> <htm…...

mysql8安装和驱动jar包下载

方式一&#xff1a;基于docker安装 下拉镜像 docker pull mysql:8.0.21 启动镜像 docker run -p 3307:3306 --name mysql -e MYSQL_ROOT_PASSWORDhadoop -d mysql:8.0.21 启动成功后&#xff0c;进入容器内部拷贝配置文件&#xff0c;到宿主主机 docker cp mysql:/etc/mysql…...

(SpringBoot)第五章:SpringBoot创建和使用

文章目录 一&#xff1a;Spring和SpringBoot&#xff08;1&#xff09;Spring已解决和未解决的问题&#xff08;2&#xff09;SpringBoot 二&#xff1a;Spring项目的创建&#xff08;1&#xff09;IDEA创建&#xff08;2&#xff09;网页端创建 三&#xff1a;项目目录介绍及运…...

Linux重定向

文章目录 1. 文件描述符分配规则2. 重定向接口dup2自定义shell重定向(补充) 3. 标准输出和标准错误4. 如何理解一切接文件 本章代码gitee地址&#xff1a;文件重定向 1. 文件描述符分配规则 文件描述符的分配规则是从0下标开始&#xff0c;寻址最小的没有使用的数组位置&#…...

Python之文件与文件夹操作及 pytest 测试习题

目录 1、文本文件读写基础。编写程序&#xff0c;在 当前目录下创建一个文本文件 test.txt&#xff0c;并向其中写入字符串 hello world。2、编写一个程序 demo.py&#xff0c;要求运行该程序后&#xff0c;生成 demo_new.py 文件&#xff0c;其中内容与demo.py 一样&#xff0…...

物联网:实现数据驱动决策,推动经济发展

开发物联网系统的意义主要体现在以下几个方面&#xff1a; 连接一切&#xff1a;物联网的目标是连接一切&#xff0c;将生活中的各种物理对象互联起来。通过物联网开发&#xff0c;我们可以实现各类设备的智能化&#xff0c;包括家居设备、交通工具、工业设备等。这将为人们提…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

基于Java+VUE+MariaDB实现(Web)仿小米商城

仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意&#xff1a;运行前…...

规则与人性的天平——由高考迟到事件引发的思考

当那位身着校服的考生在考场关闭1分钟后狂奔而至&#xff0c;他涨红的脸上写满绝望。铁门内秒针划过的弧度&#xff0c;成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定"&#xff0c;构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...