Xlsxwriter:使用 set_column 设置宽度后使用 set_column 分组
Xlsxwriter: Grouping using set_column after setting width with set_column
我正在使用 xlsxwriter 写入数据,然后将列自动调整为每列的最大字符串长度。
为此,我对每一列都使用了类似的东西(因为每一列都有不同的最大字符串长度):
Sheet1.set_column(0, 0, 15)
在我的脚本末尾,我想将几列组合在一起。因此使用文档中的类似内容:
Sheet1.set_column(0, 10, None, None, {'level': 1})
分组显示但不显示所需的列。难道我做错了什么?有趣的是,其中一个分组列的格式(即列宽)消失了,不知何故似乎被覆盖了。我也尝试了类似 set_column('A:D', None, None, {'level': 1}) 的方法,但也不起作用。
当对空 sheet 进行分组时,即不写入任何数据,因此不应用任何样式,它可以工作。难道不能在同一列上使用连续的 set_columns 吗??
非常感谢
Isn't it possible to use consecutive set_column()
on the same columns??
没有。对 set_column()
的任何调用都将覆盖同一范围内的先前调用。
因此您需要将所有要设置的选项组合在一起,例如宽度、格式或分组,并一次应用它们。
此外,您还需要单独设置重叠范围。像这样:
# Not like this!
worksheet.set_column(0, 9, 20, None, {'level': 1})
worksheet.set_column(4, 5, 30, None, {'level': 1})
# Use separate non-overlapping ranges.
worksheet.set_column(0, 3, 20, None, {'level': 1})
worksheet.set_column(4, 5, 30, None, {'level': 1})
worksheet.set_column(6, 9, 20, None, {'level': 1})
我正在使用 xlsxwriter 写入数据,然后将列自动调整为每列的最大字符串长度。
为此,我对每一列都使用了类似的东西(因为每一列都有不同的最大字符串长度):
Sheet1.set_column(0, 0, 15)
在我的脚本末尾,我想将几列组合在一起。因此使用文档中的类似内容:
Sheet1.set_column(0, 10, None, None, {'level': 1})
分组显示但不显示所需的列。难道我做错了什么?有趣的是,其中一个分组列的格式(即列宽)消失了,不知何故似乎被覆盖了。我也尝试了类似 set_column('A:D', None, None, {'level': 1}) 的方法,但也不起作用。
当对空 sheet 进行分组时,即不写入任何数据,因此不应用任何样式,它可以工作。难道不能在同一列上使用连续的 set_columns 吗??
非常感谢
Isn't it possible to use consecutive
set_column()
on the same columns??
没有。对 set_column()
的任何调用都将覆盖同一范围内的先前调用。
因此您需要将所有要设置的选项组合在一起,例如宽度、格式或分组,并一次应用它们。
此外,您还需要单独设置重叠范围。像这样:
# Not like this!
worksheet.set_column(0, 9, 20, None, {'level': 1})
worksheet.set_column(4, 5, 30, None, {'level': 1})
# Use separate non-overlapping ranges.
worksheet.set_column(0, 3, 20, None, {'level': 1})
worksheet.set_column(4, 5, 30, None, {'level': 1})
worksheet.set_column(6, 9, 20, None, {'level': 1})