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

Python办公——openpyxl处理Excel每个sheet每行 修改为软雅黑9号剧中+边框线

目录

  • 专栏导读
  • 背景
  • 1、库的介绍
    • ①:openpyxl
  • 2、库的安装
  • 3、核心代码
  • 4、完整代码
  • 5、最快的方法(50万行44秒)——表头+其余单元格都修改样式
  • 总结

专栏导读

在这里插入图片描述

  • 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手

  • 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注

  • 👍 该系列文章专栏:请点击——>Python办公自动化专栏求订阅

  • 🕷 此外还有爬虫专栏:请点击——>Python爬虫基础专栏求订阅

  • 📕 此外还有python基础专栏:请点击——>Python基础学习专栏求订阅

  • 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏

  • ❤️ 欢迎各位佬关注! ❤️

背景

  • 我们在日常办公的时候,经常会遇到大批量数据写入Excel表格中,但是有一些python的第三方库写入的效率和速度偏慢,所以我们可以采用更高效的办法对数据进行写入保存。

  • 在保存的时候将表头修改一个背景色,以及修改居中、以及字体的样式

  • 除表头之外的其余单元格样式也想做修改,那么您可以参考此篇文章

1、库的介绍

①:openpyxl

Openpyxl是一个强大的Python库,主要用于读取、写入和操作Excel文件(特别是.xlsx格式)。它提供了一组功能丰富的API,支持Excel
2010及更高版本的文件格式,使得在编程中处理Excel文件变得非常容易。 Openpyxl的主要特点和功能包括:
1、支持.xlsx格式:Openpyxl主要用于处理Excel 2010及更新版本的.xlsx文件。
2、读写Excel文件:用户可以使用Openpyxl读取现有的Excel文件,获取数据,修改数据,并保存到新的文件中。
3、操作单元格:Openpyxl允许用户按行、列或具体的单元格进行数据的读取和写入。
4、创建和修改工作表:用户可以创建新的工作表,复制和删除现有的工作表,以及设置工作表的属性等。
5、样式设置:Openpyxl允许用户设置单元格的字体、颜色、边框等样式。
6、图表和公式:用户可以通过Openpyxl创建图表、添加公式等。
7、支持数字和日期格式:Openpyxl能够正确处理数字和日期格式,确保在Excel中显示正确的格式。
在Openpyxl中,有三个主要的对象:Workbook、Worksheet和Cell。Workbook代表一个Excel文档,Worksheet代表表格,Cell则代表单元格。这些对象都包含了许多属性和方法,方便用户进行各种操作。
安装和导入Openpyxl也相对简单。用户可以使用pip进行安装,然后在Python程序中通过import语句导入整个库或特定的模块和函数。
总的来说,Openpyxl是一个功能强大、易于使用的Python库,可以大大提高处理Excel文件的效率。无论是自动化处理大量数据,还是创建漂亮的报告,Openpyxl都是一个强大的工具。

2、库的安装

用途安装
openpyxl读写Excelpip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple/

3、核心代码

  • ① 定义边框样式

# 定义边框样式
border_style = Border(top=Side(border_style="thin"),bottom=Side(border_style="thin"),left=Side(border_style="thin"),right=Side(border_style="thin")
)
  • ② 表头样式(背景色+字体样式+颜色)

# 定义表头背景颜色 - 红色 (192,0,0)
header_fill = PatternFill(start_color='FFC00000', end_color='FFC00000', fill_type='solid')# 定义表头字体颜色 - 白色
header_font = Font(name='微软雅黑', size=9, color='FFFFFF')
  • ③ 单元格样式(字体样式+居中)

cell.font = Font(name='微软雅黑', size=9)
# 设置单元格内容居中对齐
cell.alignment = Alignment(horizontal='center', vertical='center')

4、完整代码

# -*- coding: UTF-8 -*-
'''
@Project :2024-11-29 
@File    :修改样式.py
@IDE     :PyCharm 
@Author  :一晌小贪欢(278865463@qq.com)
@Date    :2024/11/29 下午10:20 
'''import time
from openpyxl import load_workbook
from openpyxl.styles import Font, Alignment, PatternFill
from openpyxl.styles.borders import Border, Side# 打开现有的Excel文件
wb = load_workbook('test_bills.xlsx')
sheetnames = wb.sheetnames# 定义边框样式
border_style = Border(top=Side(border_style="thin"),bottom=Side(border_style="thin"),left=Side(border_style="thin"),right=Side(border_style="thin")
)# 定义表头背景颜色 - 红色 (192,0,0)
header_fill = PatternFill(start_color='FFC00000', end_color='FFC00000', fill_type='solid')# 定义表头字体颜色 - 白色
header_font = Font(name='微软雅黑', size=9, color='FFFFFF')for sheet in sheetnames:t1 = time.time()ws = wb[sheet] # 获取活动的工作表# 遍历每一行for idx, row in enumerate(ws.iter_rows(), start=1):for cell in row:# 设置字体为微软雅黑,9号,默认黑色cell.font = Font(name='微软雅黑', size=9)# 设置单元格内容居中对齐cell.alignment = Alignment(horizontal='center', vertical='center')# 设置边框cell.border = border_style# 如果是第一行,则设置背景色为红色,字体颜色为白色if idx == 1:for cell in row:cell.fill = header_fillcell.font = header_fontt2 = time.time()print(f"{sheet}处理完毕,耗时{t2-t1}秒")# 保存修改后的文件
wb.save('修改后的文件.xlsx')

5、最快的方法(50万行44秒)——表头+其余单元格都修改样式

  • 目前Python中最快的库,去修改样式,详情请参考这篇文章,点我进行跳转

总结

  • 希望对初学者有帮助

  • 致力于办公自动化的小小程序员一枚

  • 希望能得到大家的【一个免费关注】!感谢

  • 求个 🤞 关注 🤞

  • 此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏

  • 求个 ❤️ 喜欢 ❤️

  • 此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏

  • 求个 👍 收藏 👍

  • 此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏


http://www.mrgr.cn/news/78940.html

相关文章:

  • frameworks 之 WallpaperManagerService 壁纸管理
  • React 数据是怎样传递的
  • uniapp实现后端数据i18n国际化
  • 苍穹外卖 项目记录 day02
  • QML Button 详解
  • 分析服务器 systemctl 启动gozero项目报错的解决方案
  • HCIA-openGauss_1
  • 华为HarmonyOS 让应用快速拥有账号能力 -- 3 获取用户手机号
  • 【0347】Postgres内核 startup XLOG 之 核实 pg_wal 、 pg_wal/archive_status (1)
  • 树莓派明明安装了opencv和numpy,却找不到
  • Linux:内存文件 基础io
  • ShardingSphere介绍
  • 密码学实验工具--Cryptool2
  • 利用Ubuntu批量下载modis图像(New)
  • nlp培训重点
  • 【实战】Oracle基础之控制文件内容的5种查询方法
  • CTF-PWN: 全保护下格式化字符串利用 [第一届“吾杯”网络安全技能大赛 如果能重来] 赛后学习(不会)
  • (一)Linux下安装NVIDIA驱动(操作记录)
  • CTF-PWN: 全保护下格式化字符串利用 [第一届“吾杯”网络安全技能大赛 如果能重来] 赛后学习(没思路了)
  • linux - FTP(包含匿名、本地以及虚拟用户登录)详细操作⭐
  • Linux网络——传输层
  • 解决stable-diffusion-webui时的问题:No module ‘xformers‘. Proceeding without it
  • 数据结构与算法学习笔记----堆
  • 分享一款 Vue 图片编辑插件 (推荐)
  • Qt入门6——Qt窗口
  • 01-树莓派基本配置-基础配置配置