我正在使用openpyxl库编辑当前的template.xlsx,但是当向其中一个工作表添加新值时,列会被隐藏
workbook = xlsx.load_workbook(filename='template.xlsx')
ws = workbook.get_sheet_by_name('DB')
for row in DATA_FROM_DATABASE:
obj = [row.year, row.date, row.product, row.amount]
for j in range(len(obj)):
ws.cell(column=j+1, row=i).value = obj[j]
workbook.save('out.xlsx')
在文件out.xlsx上,工作表数据库中len(obj)的第1列设置为隐藏,第一个工作表中的第一列。有没有办法解决这个问题或将所有列设置回可见?
答案 0 :(得分:2)
您可以使用相关的ColumnDimension对象隐藏列:
col_d = ws.column_dimensions['A']
col_d.hidden = False
答案 1 :(得分:1)
使用openpyxl 2.2.6时遇到了同样的问题。
在新创建的文件中,由于不确定的原因隐藏了列。
但是当我将openpyxl升级到2.3.3时,问题就解决了。
因此,如果您仍然遇到此问题,可以尝试将模块升级到最新版本。