如何解决xlsxwriter中的对齐问题

时间:2019-11-07 04:11:33

标签: python xlsxwriter

我正在使用xlsxwriter使用Python创建Excel工作表。一切正常。 我需要将所有行的行高更改为23,下面代码的第一行正确地将其更改。 我还需要垂直对齐所有行中的文本,并且无法使其正常工作。任何建议如何使其正确。我正在使用Python 3.6。

worksheet.set_default_row(23) # Set the row height for all the rows
format = workbook.add_format()
format.set_align('vcenter')

2 个答案:

答案 0 :(得分:2)

根据文档here,您可以在单元格中添加格式并在写入excel文件时应用格式

cell_format = workbook.add_format()
cell_format.set_align('vcenter')
worksheet.write(<some params>, cell_format)

请参阅文档以获取更多详细信息

https://xlsxwriter.readthedocs.io/format.html

答案 1 :(得分:1)

执行此操作的最佳方法以及Excel在后台执行此操作的最佳方法是使用worksheet.set_default_row()设置行高,并使用worksheet.set_column()设置格式。

这里是一个例子:

import xlsxwriter

workbook = xlsxwriter.Workbook('test.xlsx')

worksheet = workbook.add_worksheet()

# Set the default height of all the rows, efficiently.
worksheet.set_default_row(23)

# Format all the columns.
my_format = workbook.add_format()
my_format.set_align('vcenter')

worksheet.set_column('A:XFD', None, my_format)

workbook.close()

请注意,通过write()方法添加的任何特定于单元格的格式都将覆盖列格式。任何不使用格式写入的数据都将采用列格式。