目录
专栏导读

背景
-
我们在日常办公的时候,经常会遇到大批量数据写入Excel表格中,但是有一些python的第三方库写入的效率和速度偏慢,所以我们可以采用更高效的办法对数据进行写入保存。
-
在保存的时候将表头修改一个背景色,以及修改居中、以及字体的样式
-
除表头之外的其余单元格样式也想做修改,那么您可以参考此篇文章
1、库的介绍
①:openpyxl
2、库的安装
| 库 | 用途 | 安装 |
|---|
| openpyxl | 读写Excel | pip 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")
)
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、完整代码
'''
@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
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")
)
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:
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_fill
cell.font = header_font
t2 = time.time()
print(f"{sheet}处理完毕,耗时{t2-t1}秒")
wb.save('修改后的文件.xlsx')
5、最快的方法(50万行44秒)——表头+其余单元格都修改样式
-
目前Python中最快的库,去修改样式,详情请参考这篇文章,点我进行跳转
总结
-
希望对初学者有帮助
-
致力于办公自动化的小小程序员一枚
-
希望能得到大家的【一个免费关注】!感谢
-
求个 🤞 关注 🤞
-
此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏
-
求个 ❤️ 喜欢 ❤️
-
此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏
-
求个 👍 收藏 👍
-
此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏