excel 使用python在xlsx中指定颜色的单元格

rdrgkggo  于 2023-01-14  发布在  Python
关注(0)|答案(1)|浏览(168)

大家好(请原谅我的英语不好),我想在一个xlsx文件的颜色单元格的价值方面
她就是个例子
1
我想把所有的“ Alexandria ”
为此我创造了这个

path_to_excel="doc.xlsx"
exemple=openpyxl.load_workbook(path_to_excel)

ws = exemple['Sheet1'] #Name of the working sheet

from openpyxl.styles import PatternFill

#on définie la couleur de coloriage en hexa
Ok_couleur = PatternFill(patternType='solid', 
                            fgColor='94e0de')

for column in ws['B']:
        if column.value == "Alexandre":
            ws['B3'].fill = Ok_couleur

所有我实现的是颜色的一个细胞,但我想颜色的 Alexandria 所有细胞
在这一行中,我试着用B代替B3,但没有成功

for column in ws['B']:
        if column.value == "Alexandre":
            ws['B3'].fill = Ok_couleur`
w7t8yxp5

w7t8yxp51#

你需要遍历B列中的每个单元格,检查它的值是否为“ Alexandria ”。2如果是,你就可以对该单元格应用填充颜色。

import openpyxl
path_to_excel="output.xlsx"
exemple=openpyxl.load_workbook(path_to_excel)
ws = exemple['Sheet1'] #Name of the working sheet
from openpyxl.styles import PatternFill 

#on définie la couleur de coloriage en hexa
Ok_couleur = PatternFill(patternType='solid', fgColor='94e0de')
for column in ws['B']:
    if column.value == "Alexandre":
        column.fill = Ok_couleur
exemple.save(path_to_excel)

着色前的输出:


着色后

备注:确保运行脚本时未打开xlsx文件以避免任何权限错误是很重要的。还建议处理脚本执行期间可能发生的任何异常,如

try:
    # your code here
except Exception as e:
    print("An error has occurred:", e)

这将帮助您识别和解决脚本执行过程中可能出现的任何问题。此外,建议使用绝对路径而不是相对路径

path_to_excel= r"C:\path\to\file\doc.xlsx"

相关问题