我正在使用 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')
Run Code Online (Sandbox Code Playgroud)
执行此操作的最佳方法以及 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()
Run Code Online (Sandbox Code Playgroud)
请注意,通过这些方法添加的任何单元格特定格式都write()将覆盖列格式。任何不带格式写入的数据都将采用列格式。