XlsxWriter对齐设置不工作



我使用xlsxwriter从我的Python数据框架创建Excel表格。除了对齐设置外,一切都很好,它们只是没有出现在我的输出工作表中。我想包装标题文本,并设置它垂直和水平的中心,我也想对齐列A:A到左边。下面是我到目前为止的代码:

percent = workbook.add_format({'num_format': '0.0%', 'bold': False})
header = workbook.add_format({'text_wrap': True, 'align': 'center','align': 'vcenter','border': 1})
left = workbook.add_format({'align': 'left'})
vjustify = workbook.add_format({'align': 'vjustify'})
wrap = workbook.add_format({'text_wrap': True})
border = workbook.add_format({'border': 1})
worksheet.set_row(0, 30, header)
worksheet.set_column('A:T', None, border)
worksheet.set_column('A:A', 12, left)
worksheet.set_column('H:L', None, None, {'level': 1})
worksheet.set_column('M:Q', 6)
worksheet.set_column('R:R', 12, percent)
worksheet.set_column('T:T', 60)

请告诉我我错过了什么?

XlsxWriter(和Excel)中的列范围需要是唯一的,不能重叠。来自XlsxWriter文档:

范围不能重叠。每个唯一的连续范围应单独指定:

# This won't work.
worksheet.set_column('A:D', 50)
worksheet.set_column('C:C', 10)
# It needs to be split into non-overlapping regions.
worksheet.set_column('A:B', 50)
worksheet.set_column('C:C', 10)
worksheet.set_column('D:E', 50)

在您的示例中,范围'A:T'覆盖了其他几个范围。所以你需要把你的范围分割成唯一的不重叠的范围。

相关内容

最新更新