Excel如何给单元格填色,以及如何用Python 3实现单元格填色

诸神缄默不语-个人CSDN博文目录

文章目录

  • [1. 在Excel中实现单元格填色](#1. 在Excel中实现单元格填色)
    • [1. 开始 - 字体](#1. 开始 - 字体)
    • [2. 在单元格中右键选择填充颜色](#2. 在单元格中右键选择填充颜色)
  • [2. 在Python 3中实现单元格填色](#2. 在Python 3中实现单元格填色)

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

1. 开始 - 字体

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

2. 在Python 3中实现单元格填色

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

示例代码:

python 复制代码
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输出效果:

相关推荐
LeonDL1689 分钟前
HALCON 深度学习训练 3D 图像的几种方式优缺点
人工智能·python·深度学习·3d·halcon·halcon训练3d图像·深度学习训练3d图像
在成都搬砖的鸭鸭19 分钟前
【Golang】使用gin框架导出excel和csv文件
golang·excel·gin
walkskyer23 分钟前
使用 Golang `testing/quick` 包进行高效随机测试的实战指南
开发语言·后端·golang
南瓜胖胖32 分钟前
【R语言编程绘图-mlbench】
开发语言·机器学习·r语言
Rousson1 小时前
硬件学习笔记--65 MCU的RAM及FLash简介
开发语言·前端·javascript
慧都小妮子1 小时前
跨平台浏览器集成库JxBrowser 支持 Chrome 扩展程序,高效赋能 Java 桌面应用
开发语言·python·api·jxbrowser·chrome 扩展程序
范纹杉想快点毕业1 小时前
C++多重继承详解与实战解析
开发语言·c++
shenyan~1 小时前
关于 smali:2. 从 Java 到 Smali 的映射
java·开发语言
天桥下的卖艺者1 小时前
R语言使用随机过采样(Random Oversampling)平衡数据集
开发语言·r语言