gpt4 book ai didi

python - Openpyxl 中的列宽(某些列)在超过 60 列后变为零

转载 作者:行者123 更新时间:2023-11-30 23:06:27 24 4
gpt4 key购买 nike

给定 wb有 5 个工作表,我每天使用 openpyxl 添加一列,而且这一直运作良好。但现在,只有 60 多列,前 N 列的宽度(似乎是 BBH)已变为 0。这会导致列在 Excel 中打开时基本上消失了:

enter image description here

获取前几列的宽度证实了这一点(其中 fb<Worksheet> 对象):

In [71]: fb.column_dimensions["A"].width
Out[71]: 46.125
In [72]: fb.column_dimensions["B"].width
Out[72]: 0.0
In [73]: fb.column_dimensions["BI"].width
Out[73]: 11.75
In [73]: fb.column_dimensions["BJ"].width
Out[73]: 10.25

我尝试设置 auto_size:

for dimension in fb.column_dimensions.values():
dimension.auto_size = True

然后保存工作簿,但这没有效果(列在 Excel 中仍然不可见)。所以我尝试手动将几列的大小设置为合理的大小,例如12:

fb.column_dimensions["B"].width = 12

再次保存,但仍然没有变化(列在 Excel 中仍然不可见),尽管当我在 openpyxl 中重新加载电子表格并检查列宽度时,它们被设置为新的(非零) )尺寸。

这两种方法中的一种或两种都应该有效吗?我还缺少一个额外的步骤吗?

Python:2.7.10

Openpyxl:2.2.2

最佳答案

这似乎不是列宽的问题,而是列本身被隐藏了。你能发布你的完整代码吗?

解决方法可能是fb.column_dimensions['B'].hidden = False

此外,我将使用 pip install openpyxl 更新到最新版本的 openpyxl

关于python - Openpyxl 中的列宽(某些列)在超过 60 列后变为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32642026/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com