python - excel 设置样式
文章目录
- 前言
- python - excel 设置样式
- 1. 准备
- 2. 示例
- 2.1. 给单元格设置样式"等线"、大小为24磅、斜体、红色颜色和粗体
- 2.2. 给第二行设置样式"宋体"、大小为16磅、斜体、红色颜色和粗体
- 2.3. 给第三行数据设置垂直居中和水平居中
- 2.4. 给第四行设置行高为30
- 2.5. 给第五行设置列宽为15
- 2.6. 给A列设置列宽为 30
- 2.7. 在A1单元格应用边框样式
- 2.8. 完整demo
前言
如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!
python - excel 设置样式
1. 准备
准备一个无样式的excel
生成demo可以看这里
python- excel 创建/写入/删sheet+花式遍历
2. 示例
2.1. 给单元格设置样式"等线"、大小为24磅、斜体、红色颜色和粗体
import osfrom openpyxl import load_workbook
from openpyxl.styles import Font, Alignment, Color, Border, Sidedef listdir(file_path):paths = os.listdir(file_path)print(f'返回指定目录【{file_path}】下的所有文件和目录名:{os.listdir(file_path)}')return pathsif __name__ == '__main__':path = 'D:\pythonExcel'try:fileName = listdir(path)file_path = os.path.join(path, fileName[0])# 打开已有文件wb = load_workbook(file_path)# 创建一个新的sheetnewSheet = wb["NewSheet"]# 设置新sheet为活动sheetwb.active = newSheet# 输入等线 24号,加粗斜体,字体颜色红色。# 直接使用cell的font属性,将Font对象赋值给它# 声明样式bold_italic_24_font = Font(name='等线', size=24, italic=True, color=Color(rgb="FF0000"), bold=True)# 给单元格设置样式newSheet['A1'].font = bold_italic_24_fontwb.save(file_path)except Exception as e:print(f"Exception : {e}")
2.2. 给第二行设置样式"宋体"、大小为16磅、斜体、红色颜色和粗体
import osfrom openpyxl import load_workbook
from openpyxl.styles import Font, Alignment, Color, Border, Sidedef listdir(file_path):paths = os.listdir(file_path)print(f'返回指定目录【{file_path}】下的所有文件和目录名:{os.listdir(file_path)}')return pathsif __name__ == '__main__':path = 'D:\pythonExcel'try:fileName = listdir(path)file_path = os.path.join(path, fileName[0])# 打开已有文件wb = load_workbook(file_path)# 创建一个新的sheetnewSheet = wb["NewSheet"]# 设置新sheet为活动sheetwb.active = newSheet# 输入等线 24号,加粗斜体,字体颜色红色。# 直接使用cell的font属性,将Font对象赋值给它# 声明样式bold_italic_16_font = Font(name='宋体', size=16, italic=True, color=Color(rgb="FF0000"), bold=True)# 给第二行设置样式for cell in newSheet[2]:cell.font = bold_italic_16_fontwb.save(file_path)except Exception as e:print(f"Exception : {e}")
2.3. 给第三行数据设置垂直居中和水平居中
import osfrom openpyxl import load_workbook
from openpyxl.styles import Font, Alignment, Color, Border, Sidedef listdir(file_path):paths = os.listdir(file_path)print(f'返回指定目录【{file_path}】下的所有文件和目录名:{os.listdir(file_path)}')return pathsif __name__ == '__main__':path = 'D:\pythonExcel'try:fileName = listdir(path)file_path = os.path.join(path, fileName[0])# 打开已有文件wb = load_workbook(file_path)# 创建一个新的sheetnewSheet = wb["NewSheet"]# 设置新sheet为活动sheetwb.active = newSheet# 给第三行设置对齐方式:给第三行数据设置垂直居中和水平居中for cell in newSheet[3]:cell.alignment = Alignment(horizontal='center', vertical='center')wb.save(file_path)except Exception as e:print(f"Exception : {e}")
2.4. 给第四行设置行高为30
import osfrom openpyxl import load_workbook
from openpyxl.styles import Font, Alignment, Color, Border, Sidedef listdir(file_path):paths = os.listdir(file_path)print(f'返回指定目录【{file_path}】下的所有文件和目录名:{os.listdir(file_path)}')return pathsif __name__ == '__main__':path = 'D:\pythonExcel'try:fileName = listdir(path)file_path = os.path.join(path, fileName[0])# 打开已有文件wb = load_workbook(file_path)# 创建一个新的sheetnewSheet = wb["NewSheet"]# 设置新sheet为活动sheetwb.active = newSheet# 给第四行设置行高为30newSheet.row_dimensions[4].height = 30wb.save(file_path)except Exception as e:print(f"Exception : {e}")
2.5. 给第五行设置列宽为15
import osfrom openpyxl import load_workbook
from openpyxl.styles import Font, Alignment, Color, Border, Sidedef listdir(file_path):paths = os.listdir(file_path)print(f'返回指定目录【{file_path}】下的所有文件和目录名:{os.listdir(file_path)}')return pathsif __name__ == '__main__':path = 'D:\pythonExcel'try:fileName = listdir(path)file_path = os.path.join(path, fileName[0])# 打开已有文件wb = load_workbook(file_path)# 创建一个新的sheetnewSheet = wb["NewSheet"]# 设置新sheet为活动sheetwb.active = newSheet# 给第五行设置列宽为15for column_letter in range(1, newSheet.max_column + 1):if 5 == column_letter:# chr(64 + column_letter)用于将列号的数值转换为列字母标识符newSheet.column_dimensions[chr(64 + column_letter)].width = 15wb.save(file_path)except Exception as e:print(f"Exception : {e}")
2.6. 给A列设置列宽为 30
import osfrom openpyxl import load_workbook
from openpyxl.styles import Font, Alignment, Color, Border, Sidedef listdir(file_path):paths = os.listdir(file_path)print(f'返回指定目录【{file_path}】下的所有文件和目录名:{os.listdir(file_path)}')return pathsif __name__ == '__main__':path = 'D:\pythonExcel'try:fileName = listdir(path)file_path = os.path.join(path, fileName[0])# 打开已有文件wb = load_workbook(file_path)# 创建一个新的sheetnewSheet = wb["NewSheet"]# 设置新sheet为活动sheetwb.active = newSheet# 给A列设置列宽为 30newSheet.column_dimensions['A'].width = 30wb.save(file_path)except Exception as e:print(f"Exception : {e}")
2.7. 在A1单元格应用边框样式
import osfrom openpyxl import load_workbook
from openpyxl.styles import Font, Alignment, Color, Border, Sidedef listdir(file_path):paths = os.listdir(file_path)print(f'返回指定目录【{file_path}】下的所有文件和目录名:{os.listdir(file_path)}')return pathsif __name__ == '__main__':path = 'D:\pythonExcel'try:fileName = listdir(path)file_path = os.path.join(path, fileName[0])# 打开已有文件wb = load_workbook(file_path)# 创建一个新的sheetnewSheet = wb["NewSheet"]# 设置新sheet为活动sheetwb.active = newSheet# 创建一个Border对象来定义边框样式border = Border(left=Side(style='thin'), # 左边框right=Side(style='thin'), # 右边框top=Side(style='thin'), # 上边框bottom=Side(style='thin') # 下边框)# 在A1单元格应用边框样式newSheet['A1'].border = borderwb.save(file_path)except Exception as e:print(f"Exception : {e}")
2.8. 完整demo
import osfrom openpyxl import load_workbook
from openpyxl.styles import Font, Alignment, Color, Border, Sidedef listdir(file_path):paths = os.listdir(file_path)print(f'返回指定目录【{file_path}】下的所有文件和目录名:{os.listdir(file_path)}')return pathsif __name__ == '__main__':path = 'D:\pythonExcel'try:fileName = listdir(path)file_path = os.path.join(path, fileName[0])# 打开已有文件wb = load_workbook(file_path)# 创建一个新的sheetnewSheet = wb["NewSheet"]# 设置新sheet为活动sheetwb.active = newSheet# 输入等线 24号,加粗斜体,字体颜色红色。# 直接使用cell的font属性,将Font对象赋值给它# 声明样式bold_italic_24_font = Font(name='等线', size=24, italic=True, color=Color(rgb="FF0000"), bold=True)bold_italic_16_font = Font(name='宋体', size=16, italic=True, color=Color(rgb="FF0000"), bold=True)# 创建一个Border对象来定义边框样式border = Border(left=Side(style='thin'), # 左边框right=Side(style='thin'), # 右边框top=Side(style='thin'), # 上边框bottom=Side(style='thin') # 下边框)# 给单元格设置样式newSheet['A1'].font = bold_italic_24_font# 给第二行设置样式for cell in newSheet[2]:cell.font = bold_italic_16_font# 给第三行设置对齐方式:给第三行数据设置垂直居中和水平居中for cell in newSheet[3]:cell.alignment = Alignment(horizontal='center', vertical='center')# 给第四行设置行高为30newSheet.row_dimensions[4].height = 30# 给第五行设置列宽为15for column_letter in range(1, newSheet.max_column + 1):if 5 == column_letter:# chr(64 + column_letter)用于将列号的数值转换为列字母标识符newSheet.column_dimensions[chr(64 + column_letter)].width = 15# 给A列设置列宽为 30newSheet.column_dimensions['A'].width = 30# 在A1单元格应用边框样式newSheet['A1'].border = borderwb.save(file_path)except Exception as e:print(f"Exception : {e}")
相关文章:

python - excel 设置样式
文章目录 前言python - excel 设置样式1. 准备2. 示例2.1. 给单元格设置样式"等线"、大小为24磅、斜体、红色颜色和粗体2.2. 给第二行设置样式"宋体"、大小为16磅、斜体、红色颜色和粗体2.3. 给第三行数据设置垂直居中和水平居中2.4. 给第四行设置行高为30…...
Gemmini测试test文件chisel源码详解(一)
DMACommandTrackerTest.scala 源码如下: package gemminiimport scala.collection.mutable.ArrayBufferimport chisel3._ import chisel3.iotesters.{ChiselFlatSpec, PeekPokeTester}class DMACommandTrackerTester(c: DMAReadCommandTracker[UInt]) extends Pee…...
RabbitMQ中的手动应答和自动应答
当使用RabbitMQ来处理消息时,消息确认是一个重要的概念。RabbitMQ提供了两种不同的消息确认方式:自动应答(Automatic Acknowledgment)和手动应答(Manual Acknowledgment)。这两种方式适用于不同的应用场景&…...

【C语言】文件的操作与文件函数的使用(详细讲解)
前言:我们在学习C语言的时候会发现在编写一个程序的时候,数据是存在内存当中的,而当我们退出这个程序的时候会发现这个数据不复存在了,因此我们可以通过文件把数据记录下来,使用文件我们可以将数据直接存放在电脑的硬盘…...

ROS-PX4仿真笔记_1
offbord模式测试 rosrun offboard_pkg position stablelize模式 lqr控制器实验 roslaunch px4 fast_test.launch 无人机起飞1.5-2m sh mybot_gazebo.sh#roslaunch px4 fast_racing.launch & sleep 20; roslaunch ego_planner single_run_in_gazebo.launch & sleep 1…...
使用 Python 中的小波变换信号驾驭股票价格的波动
一、简介 股票上涨和下跌,创造出像海浪一样难以预测的模式和走势。然而,就像科学家通过了解下面的水流来预测波浪的运动一样,我们也可以使用类似的工具破译股票市场的一些模式。 通过利用小波变换的力量,我们深入表面,试图揭示驱动股价的深层原因。这段旅程不仅仅涉及数字…...

AndroidStudio模拟器,没有Google Play的就有ROOT权限
正确选择版本 测试 D:\>adb shell emulator64_x86_64:/ $ su emulator64_x86_64:/ #...
复选框 前端代码
表单中复选框选项 <el-form-item label="是否公开:" hidden="true"><input type="checkbox...
每日一练 | 网络工程师软考真题Day41
1、包过滤防火墙对通过防火墙的数据包进行检查,只有满足条件的数据包才能通过,对数据包的检查内容一般不包括 。 A.源地址 B.目的地址 C.协议 D.有效载荷 2、下面关于ARP木马的描述中,错误的…...
vue使用pinia存储数据并保持数据持久化
在Vue中使用Pinia存储数据并保持数据持久化,你可以遵循以下步骤: 安装Pinia:首先,你需要安装Pinia。可以通过npm或yarn来安装它。在终端中运行以下命令: npm install pinia# 或者使用yarn yarn add pinia创建Pinia St…...

k8s - Flannel
1.Flannel概念剖析 Flannel是 CoreOS 团队针对 Kubernetes 设计的一个覆盖网络(Overlay Network)工具,其目的在于帮助每一个使用 Kuberentes 的 CoreOS 主机拥有一个完整的子网。这次的分享内容将从Flannel的介绍、工作原理及安装和配置三方…...

服务器中了balckhoues勒索病毒怎么办?勒索病毒解密,数据恢复
近日,云天数据恢复中心发现,有多位用户的服务器中了一种名为balckhoues的勒索病毒,因为绝大多数用户是第一次遇到这种情况,所以对这种类型的勒索病毒并不是很了解。那接下来我们将对balckhoues勒索病毒做一个分析。 中毒特征 服务…...
react-pdf | Warning: TextLayer styles not found.
问题描述: 使用react-pdf展示pdf,但是报警告,Warning: TextLayer styles not found. 解决方法: <Pageloading{"加载中..."}renderAnnotationLayer{false}renderTextLayer{false}/> 添加属性如上,设…...
vue上传文件MD5加密
1.下载MD5依赖 npm install crypto-js 2.在utils文件夹中新增文件md5方法文件,文件名自定义(fileMd5Sum.js) import CryptoJs from crypto-js export default {// md5值计算fileMd5Sum(file) {let CryptoJS require("crypto-js"…...

vue2 .sync 修饰符
vue2 .sync 修饰符 **创建 工程: H:\java_work\java_springboot\vue_study ctrl按住不放 右键 悬着 powershell H:\java_work\java_springboot\js_study\Vue2_3入门到实战-配套资料\01-随堂代码素材\day04\准备代码\13-sync修饰符 vue --version vue create v-sy…...

使用Tensorrt的一般步骤
使用Tensorrt的一般步骤 TensorRT的使用包括两个阶段:build and deployment。 build:该阶段主要完成模型转换(从caffe或TensorFlow到TensorRT),如下图所示,在模型转换时会完成前述优化过程中的层间融合&am…...

uniapp apple 苹果登录 离线本地打包
官方文档 uni-app官网 文档写的不全,没有写离线打包流程 加lib 签名里带 sign in with apple hbuilder开关 代码 测试代码,获取app里所有的provider uni.getProvider({service: oauth,success: function (res) {console.log(res.provider)uni.showT…...

【数据库】Sql Server数据迁移,处理自增字段赋值
给自己一个目标,然后坚持一段时间,总会有收获和感悟! 在实际项目开发中,如果遇到高版本导入到低版本,或者低版本转高版本,那么就会出现版本不兼容无法导入,此时通过程序遍历创建表和添加数据方式…...

JOSEF约瑟 矿用一般型选择性漏电继电器 LXY2-660 Φ45 JKY1-660
系列型号: JY82A检漏继电器 JY82B检漏继电器 JY82-380/660检漏继电器 JY82-IV检漏继电器 JY82-2P检漏继电器 JY82-2/3检漏继电器 JJKY检漏继电器 JD型检漏继电器 JY82-IV;JY82J JY82-II;JY82-III JY82-1P;JY82-2PA;JY82-2PB JJB-380;JJB-380/660 JD-12…...
DHCP自动分配IP原理
DHCP自动分配IP原理 1.采用UDP通信方式 2.服务器IP:255.255.255.255; 服务器端口:67, 设备接收端口:68 3.设备向服务器发送DISCOVER信息 4.设备收到服务器回应,且解析正确 5.设备向服务器发送REQUEST请求消息 6.设备接…...

Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...

VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...

NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...

【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...