我已经使用xls
创建了一个xlsxwriter
工作簿。我试图在一开始将所有列的宽度设置为默认值,然后稍后根据单元格内容在脚本中调整列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列的示例设置宽度时,该问题没有显示。
这是一个错误还是我缺少什么?
答案 0 :(得分:1)
使用set_column()
时,您需要设置独立的(不重叠)范围。
因此以下情况适用于您的情况:
ws.set_column(1, 7, width=20)
ws.set_column(0, 0, 50)