2

我正在尝试使用 Python Pandas ExcelWriter 将背景单元格颜色添加到单元格范围。这是我到目前为止所拥有的:

 pivotChartsTab = pd.read_sql(sql4, conn)
 import pandas.io.formats.excel
 pandas.io.formats.excel.header_style = None
 pivotChartsTab.to_excel(writer, 'Pivot Tables', index=False)

#Format sheets
workbook = writer.book
format1 = workbook.add_format({'num_format': '#,##'}) 
format2 = workbook.add_format({'num_format': '#,##0.00'}) 
format3 = workbook.add_format({'num_format': '0%'})
format4 = workbook.add_format()
format4.set_pattern(1)
format4.set_bg_color('green')


#format Pivot Tables            
worksheet = writer.sheets['Pivot Tables']        
for i, col in enumerate(pivotChartsTab.columns):
    if i == 0:
        worksheet.set_column(i, i, 20)
    elif i == 1:
        worksheet.set_column(i, i, 15)
    elif i == 2:
        worksheet.set_column(i, i, 18)
    elif i == 3:
        worksheet.set_column(i, i, 20, format3)
    elif i == 4:
        worksheet.set_column(i, i, 25, format2)
    elif i == 5:
        worksheet.set_column(i, i, 25, format2) 
    elif i == 6:
        worksheet.set_column(i, i, 18, format3)
worksheet.write_row('A1:G1', format4)
writer.save()

所以基本上我正在尝试制作自己的客户标题样式。我希望背景颜色为绿色,行高为 25,但无法使着色工作,因此尚未尝试更改行高。

我觉得我错过了一些简单或基本的东西。谢谢你的帮助。

4

1 回答 1

2

这似乎有效,但我不确定如果单元格为空或空白等它会如何反应......

format4 = workbook.add_format({'bg_color': '#92D050'})
format5 = workbook.add_format({'text_wrap':True})

worksheet.set_row(0, 28, format5)
worksheet.conditional_format('A1:G1', {'type':'cell', 'criteria':'>=','value': 0, 'format':format4})

这会在我的标题上进行文本换行,行高为 28 和我想要的颜色。

于 2018-03-16T20:58:57.793 回答