Python3实现Excel行分级与单元格填色

 更新时间:2025年02月24日 08:42:11   作者:诸神缄默不语  
这篇文章主要为大家详细介绍了如何使用Python3实现Excel行分级与单元格填色功能,文中的示例代码讲解详细,有需要的小伙伴可以参考一下

Python3实现Excel行分级

1. 在Excel中实现分级

选择指定行后,点击 数据 - 分级显示 - 组合

然后就可以点击加减号展开或折叠了。

2. Excel分级

用openpyxl的row_dimensions.group()实现。

官方文档:https://openpyxl.readthedocs.io/en/3.1/api/openpyxl.worksheet.dimensions.html

示例代码:

from openpyxl import load_workbook

wb = load_workbook(r"成本.xlsx")
ws = wb.active

# 创建分组
ws.row_dimensions.group(8, 96, outline_level=1)
ws.row_dimensions.group(10, 37, outline_level=2)
ws.row_dimensions.group(39, 67, outline_level=2)

# 设置分组折叠按钮位置
ws.sheet_properties.outlinePr.summaryBelow = False

wb.save(r"trys\grouped_table.xlsx")

原xlsx文档没有分级,分级后的效果就是这样,你懂吧你就理解一下这个行和分级的分布是这样的:

Python3实现单元格填色

1. 在Excel中实现单元格填色

1. 开始 - 字体

2. 在单元格中右键选择填充颜色

2. 单元格填色

使用openpyxl.styles.PatternFill实现,包文档:https://openpyxl.readthedocs.io/en/stable/index.html

示例代码:

import openpyxl
from openpyxl.styles import PatternFill
from openpyxl.utils import get_column_letter

# 创建一个新的 Excel 工作簿
wb = openpyxl.Workbook()
ws = wb.active
ws.title = "Sales Data"

# 添加数据
data = [
    ["Region", "Manager", "Sales"],
    ["North", "Alice", 1000],
    ["South", "Bob", 1500],
    ["East", "Charlie", 2000],
    ["West", "David", 500],
]

for row in data:
    ws.append(row)

# 设置列宽
for col in range(1, 4):
    column_letter = get_column_letter(col)
    ws.column_dimensions[column_letter].width = 20

# 给不同级别的销售设置不同的背景色
# 假设 sales > 1500 是“高”级别,1500 <= sales <= 1000 是“中”级别,sales < 1000 是“低”级别
high_fill = PatternFill(start_color="FF0000", end_color="FF0000", fill_type="solid")
medium_fill = PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="solid")
low_fill = PatternFill(start_color="00FF00", end_color="00FF00", fill_type="solid")

# 根据销售额来设置颜色
for row in ws.iter_rows(min_row=2, min_col=3, max_row=5, max_col=3):  # 销售数据在第三列
    for cell in row:
        if cell.value > 1500:
            cell.fill = high_fill
        elif cell.value >= 1000:
            cell.fill = medium_fill
        else:
            cell.fill = low_fill

# 保存文件
wb.save(r"trys\sales_data.xlsx")

Excel输出效果:

到此这篇关于Python3实现Excel行分级与单元格填色的文章就介绍到这了,更多相关Python3 Excel内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python递归打印某个目录的内容(实例讲解)

    python递归打印某个目录的内容(实例讲解)

    下面小编就为大家带来一篇python递归打印某个目录的内容(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 单利模式及python实现方式详解

    单利模式及python实现方式详解

    单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保 某一个类只有一个实例存在.这篇文章主要介绍了单利模式及python实现方式及Python单例模式的4种实现方法,需要的朋友可以参考下
    2018-03-03
  • Python机器学习入门(二)之Python数据理解

    Python机器学习入门(二)之Python数据理解

    这篇文章主要介绍了Python机器学习入门知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • python监控windows服务器的进程和服务

    python监控windows服务器的进程和服务

    这篇文章主要为大家详细介绍了如何使用python监控windows服务器的进程和服务,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-04-04
  • Python的Tornado Web框架深入解析

    Python的Tornado Web框架深入解析

    这篇文章主要为大家介绍了Python的Tornado Web框架的使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Python Math数学函数常数幂和对数基础应用实例

    Python Math数学函数常数幂和对数基础应用实例

    Python中的math模块是数学运算的重要工具,提供了丰富的数学函数和常数,本文将深入探讨math模块的功能和用法,使您能够更好地利用Python进行数学运算
    2023-12-12
  • Python实现QR码的代码详解

    Python实现QR码的代码详解

    这篇博客将分为五个部分,详细介绍QR码的生成原理、底层实现,并使用Python代码实现,采用面向对象的编程思路,使用合适的设计模式进行案例展示,每个案例将包含完整代码和详细解释,需要的朋友可以参考下
    2024-11-11
  • Python内置加密模块用法解析

    Python内置加密模块用法解析

    这篇文章主要介绍了Python内置加密模块用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • django 实现后台从富文本提取纯文本

    django 实现后台从富文本提取纯文本

    这篇文章主要介绍了django 实现后台从富文本提取纯文本,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • 基于python requests库中的代理实例讲解

    基于python requests库中的代理实例讲解

    今天小编就为大家分享一篇基于python requests库中的代理实例讲解,具有很好的参考价值。希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05

最新评论