Python Openpyxl中(某些列的)列宽在60+;柱

Python Openpyxl中(某些列的)列宽在60+;柱,python,python-2.7,excel-2007,openpyxl,Python,Python 2.7,Excel 2007,Openpyxl,给定一个包含5个工作表的wb,我每天使用openpyxl为每个工作表添加一个列,这已经很好地工作了。现在,虽然只有60多列,但前N列的宽度(似乎是B到BH)已经变为0。这导致在Excel中打开时列基本上消失: 获取前几列的宽度可以确认这一点(其中,fb是一个对象): 我已尝试设置自动大小: for dimension in fb.column_dimensions.values(): dimension.auto_size = True 然后保存工作簿,但这没有效果(列在Excel中

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

获取前几列的宽度可以确认这一点(其中,
fb
是一个
对象):

我已尝试设置自动大小:

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\u dimensions['B']。hidden=False


另外,我会用
pip安装openpyxl

更新到最新版本的openpyxl,我已经进入Excel,高亮显示其中一张表中的所有单元格,然后格式化->列->取消隐藏,不可见的列重新出现。这最初向我暗示问题在于Excel本身,但如果我在OpenOffice中打开电子表格,列也会隐藏在那里。我也有同样的问题,将
。hidden
设置为
False
并不能解决问题。
fb.column_dimensions["B"].width = 12