【问题标题】:Can't center horizontally 'float' cells with xlsxwriter无法使用 xlsxwriter 水平居中“浮动”单元格
【发布时间】:2021-05-27 03:17:21
【问题描述】:

我正在尝试使用xlsxwriter 引擎将我的熊猫数据框保存为带有df.to_excel() 的excel 文件。我正在尝试用两种不同的格式格式化标题和行:


workbook = writer.book
header_format = workbook.add_format({
   'bold' : True,
   'valign' : 'vcenter',
   'align' : 'center',
   'bg_color' : '#D7E4BC',
   'border' : 1
})

cell_format = workbook.add_format({
   'valign' :  'center',
   'align' : 'center',
   'border' : 1
})

#Add header formatting
for col_num, value in enumerate(df.columns.values):
   worksheet.write(0, col_num + 1, value, header_format)

#Add row formatting
worksheet.conditional_formatting(1, 0, df.shape[0], df.shape[1], {'type' : 'no_blanks', 'format' : cell_format})

我不知道为什么,但只有具有浮点值的单元格没有水平居中。我也想知道如何使它们居中(如果可能的话)。

谢谢

【问题讨论】:

    标签: python excel pandas xlsxwriter


    【解决方案1】:

    您不能使用条件格式在 Excel 中设置对齐方式。来自 XlsxWriter docs:

    注意 在 Excel 中,条件格式叠加在现有单元格格式上,并非所有单元格格式属性都可以修改。不能以条件格式修改的属性有字体名称、字体大小、上标和下标、对角线边框、所有对齐属性和所有保护属性。

    如果您想为数据框的单元格添加格式,您可能需要逐个单元格地进行,就像您为标题所做的那样。

    【讨论】:

    • 嗯,但我不能不使用write() 来格式化单元格,对吧?我正在使用熊猫,所以我不知道可以做什么。
    猜你喜欢
    • 2012-02-03
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多