#python #openpyxl
#питон #openpyxl
Вопрос:
У меня есть 50 примеров, когда мне нужно, чтобы ячейки B7: AE15 были выделены желтым цветом. я определил cellrange_1 = [«B7″:»AE15»] Затем я попытался:
for cell in cellrange_1:
worksheet[cell].fill = PatternFill("solid",fgColor="00FFCC99")
Но это не работает.
Комментарии:
1. Я считаю , что вам следует назначить
worksheet[cell].style.fill
К. Кроме того, не забудьте позвонитьworkbook.save
2. Ха-ха, я помню эту вчерашнюю ошибку, еще раз спасибо. Но я не понимаю, какие изменения нужно внести. Я изменил его на worksheet[cell].style. fill = PatternFill(«solid», fgColor=»00FFCC99″), и я получаю сообщение об ошибке: «Объект кортежа не имеет стиля атрибута»
3. Этот диапазон ячеек не может работать.
Ответ №1:
Если вы хотите изменить цвет фона и шрифта:
from openpyxl.styles import PatternFill
for col_range in range(1, 51):
for row_range in range(7, 16):
cell_title = sheet.cell(col_range, row_range)
cell_title.fill = PatternFill(fill_type="solid", start_color="#00FFCC99", end_color="#00FFCC99")
В случае возникновения каких-либо вопросов вы можете воспользоваться документами OpenPyXL: https://openpyxl.readthedocs.io/en/latest /
Ответ №2:
Попробуй это…
for cell in cellrange_1:
worksheet[cell].style.fill = PatternFill("solid",fgColor="00FFCC99")
А ниже приведен пример условного форматирования
from openpyxl.styles import PatternFill, colors
from openpyxl.styles.differential import DifferentialStyle
from openpyxl.formatting.rule import Rule
red_background = PatternFill(bgColor=colors.RED)
diff_style = DifferentialStyle(fill=red_background)
rule = Rule(type="expression", dxf=diff_style)
rule.formula = ["$H1<3"]
sheet.conditional_formatting.add("A1:O100", rule)
workbook.save("sample_conditional_formatting.xlsx")
Комментарии:
1. Привет, Хитеш, я только что попробовал это, и я получаю сообщение об ошибке «Кортеж» объект не имеет атрибута «стиль»; Я чувствую, что мне придется обновлять каждую ячейку по отдельности для этого цвета..