Python openpyxl с использованием sheet.row_dimensions [2] .fill с неожиданным результатом - PullRequest
1 голос
/ 17 июня 2020

Я использую openpyxl для выполнения некоторых упражнений в Excel, и я хочу заполнить цветом одну из строк.

но, наконец, я обнаружил, что цвет не заполняется в моем тексте, а в пустой строке, что происходит к нему ???

Вот мои коды:

import  openpyxl
from openpyxl.styles import PatternFill

excel=openpyxl.load_workbook('12_6_produceSales.xlsx')
sheet=excel.active
fillcolor=PatternFill(fill_type='solid',start_color='668B8B')
sheet.row_dimensions[2].fill=fillcolor
excel.save('12_6.xlsx')

И вот результат, он заполняет цветом только пустую строку, на самом деле я хочу заполнить всю строку 1 enter image description here

Ответы [ 2 ]

0 голосов
/ 17 июня 2020

Используйте этот код, это будет работать динамически и не нужно указывать имена ячеек. отметьте это как решенное ......

import  openpyxl
from openpyxl.styles import PatternFill

excel=openpyxl.load_workbook('12_6_produceSales.xlsx')
sheet=excel.active
fillcolor=PatternFill(fill_type='solid',start_color='668B8B')

for cell in sheet["1:1"]:
    cell.fill = fillcolor

excel.save('12_6.xlsx')
0 голосов
/ 17 июня 2020

попробуйте изменить цвет для ячеек, пример вывода

import  openpyxl
from openpyxl.styles import PatternFill
excel=openpyxl.load_workbook('12_6_produceSales.xlsx')
sheet=excel.active
fillcolor=PatternFill(fill_type='solid',start_color='668B8B')

sheet['A1'].fill = fillcolor
sheet['B1'].fill = fillcolor
sheet['C1'].fill = fillcolor
sheet['D1'].fill = fillcolor

excel.save('12_6.xlsx')
...