xlsxwriter:设置第 0 列宽度时,所有其他列的宽度都会重置

xlsxwriter: when setting column 0 width, width of all other columns gets reset

我使用 xlsxwriter 创建了一个 xls 工作簿。我试图在开始时将所有列的宽度设置为默认值,然后根据单元格内容稍后在脚本中调整第 0 列的宽度。 问题是,当我这样做时,所有其他列的宽度都会重置。

这是一个代表问题的最小示例:

import xlsxwriter

wb = xlsxwriter.Workbook('Test.xlsx')
ws = wb.add_worksheet('Num')

numArr = [0.000000520593523979187, 13.123456789, 1.789456, 0.002345, 0.00123]

for i,num in enumerate(numArr):
    ws.write_number(i, 0, num)

ws.set_row(0, 40)
ws.set_row(1, 50)
# Set column width to a default value
ws.set_column(0, 7, width = 20)
# Some other calculations
# Set column 0 width to a different value
ws.set_column(0, 0, 50)

wb.close()

这是结果:

当我设置第 1 列的宽度时,问题没有显示:

这是一个错误还是我遗漏了什么?

使用set_column()时,您需要设置独立(非重叠)范围。

因此以下内容适用于您的情况:

ws.set_column(1, 7, width=20)
ws.set_column(0, 0, 50)