Python 如何解决xlsxwriter中的对齐问题

Python 如何解决xlsxwriter中的对齐问题,python,xlsxwriter,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('

我正在使用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')

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

cell_format = workbook.add_format()
cell_format.set_align('vcenter')
worksheet.write(<some params>, cell_format)
有关更多详细信息,请参阅文档


执行此操作的最佳方法,以及Excel在后台执行此操作的方法,是使用WORKEM.set_default_行设置行高,并使用WORKEM.set_列设置格式

以下是一个例子:

导入xlsxwriter 工作簿=xlsxwriter.workbook'test.xlsx' 工作表=工作簿。添加工作表 有效地设置所有行的默认高度。 工作表.set\u默认值\u第23行 格式化所有列。 我的格式=工作簿。添加格式 我的格式。设置对齐“vcenter” 工作表。设置_列'A:XFD',无,我的_格式 工作簿。关闭
注意,通过write方法添加的任何特定于单元格的格式都将覆盖列格式。任何没有格式的数据都将采用列格式。

非常感谢您的快速正确回复。你的建议行得通。唯一的问题是,当我写入工作表时,我必须在每条指令中添加“cell_格式”。是否有一种更简单的方法将工作表中的所有文本默认为垂直中心,类似于设置行的高度。再次感谢。我认为您每次写入文件时都必须通过单元格格式条件。如果这解决了您的问题,请标记为接受答案。祝您愉快。你的建议确实是我想要的。但是,我还需要将第一行加粗。worksheet.writeA1,日期,粗体。现在,正如您所说,它覆盖了路线。我们如何解决这个问题。不,我的意思是你需要创建一个新的格式,既有粗体和中心对齐。我创建了新的格式,它工作得很好!非常感谢你。