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

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、包过滤防火墙对通过防火墙的数据包进行检查&#xff0c;只有满足条件的数据包才能通过&#xff0c;对数据包的检查内容一般不包括 。 A&#xff0e;源地址 B&#xff0e;目的地址 C&#xff0e;协议 D&#xff0e;有效载荷 2、下面关于ARP木马的描述中&#xff0c;错误的…...

vue使用pinia存储数据并保持数据持久化

在Vue中使用Pinia存储数据并保持数据持久化&#xff0c;你可以遵循以下步骤&#xff1a; 安装Pinia&#xff1a;首先&#xff0c;你需要安装Pinia。可以通过npm或yarn来安装它。在终端中运行以下命令&#xff1a; npm install pinia# 或者使用yarn yarn add pinia创建Pinia St…...

k8s - Flannel

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

服务器中了balckhoues勒索病毒怎么办?勒索病毒解密,数据恢复

近日&#xff0c;云天数据恢复中心发现&#xff0c;有多位用户的服务器中了一种名为balckhoues的勒索病毒&#xff0c;因为绝大多数用户是第一次遇到这种情况&#xff0c;所以对这种类型的勒索病毒并不是很了解。那接下来我们将对balckhoues勒索病毒做一个分析。 中毒特征 服务…...

react-pdf | Warning: TextLayer styles not found.

问题描述&#xff1a; 使用react-pdf展示pdf&#xff0c;但是报警告&#xff0c;Warning: TextLayer styles not found. 解决方法&#xff1a; <Pageloading{"加载中..."}renderAnnotationLayer{false}renderTextLayer{false}/> 添加属性如上&#xff0c;设…...

vue上传文件MD5加密

1.下载MD5依赖 npm install crypto-js 2.在utils文件夹中新增文件md5方法文件&#xff0c;文件名自定义&#xff08;fileMd5Sum.js&#xff09; import CryptoJs from crypto-js export default {// md5值计算fileMd5Sum(file) {let CryptoJS require("crypto-js"…...

vue2 .sync 修饰符

vue2 .sync 修饰符 **创建 工程&#xff1a; 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的使用包括两个阶段&#xff1a;build and deployment。 build&#xff1a;该阶段主要完成模型转换&#xff08;从caffe或TensorFlow到TensorRT&#xff09;&#xff0c;如下图所示&#xff0c;在模型转换时会完成前述优化过程中的层间融合&am…...

uniapp apple 苹果登录 离线本地打包

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

【数据库】Sql Server数据迁移,处理自增字段赋值

给自己一个目标&#xff0c;然后坚持一段时间&#xff0c;总会有收获和感悟&#xff01; 在实际项目开发中&#xff0c;如果遇到高版本导入到低版本&#xff0c;或者低版本转高版本&#xff0c;那么就会出现版本不兼容无法导入&#xff0c;此时通过程序遍历创建表和添加数据方式…...

JOSEF约瑟 矿用一般型选择性漏电继电器 LXY2-660 Φ45 JKY1-660

系列型号&#xff1a; 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&#xff1a;255.255.255.255&#xff1b; 服务器端口&#xff1a;67, 设备接收端口&#xff1a;68 3.设备向服务器发送DISCOVER信息 4.设备收到服务器回应&#xff0c;且解析正确 5.设备向服务器发送REQUEST请求消息 6.设备接…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状&#xff1a;装配工作依赖人工经验&#xff0c;装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书&#xff0c;但在实际执行中&#xff0c;工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案

目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后&#xff0c;迭代器会失效&#xff0c;因为顺序迭代器在内存中是连续存储的&#xff0c;元素删除后&#xff0c;后续元素会前移。 但一些场景中&#xff0c;我们又需要在执行删除操作…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区&#xff08;Partitioning&#xff09;是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分&#xff08;分区&#xff09;可以独立存储、管理和优化&#xff0c;…...

十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建

【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...