注册 登录
编程论坛 Python论坛

openpyxl insert_cols() 如何给excel 最后一列后面新增一列

pythonguanzh 发布于 2019-12-13 15:42, 10988 次点击
比如excel  中一共有6列

wb  = openpyxl.load_workbook(s.xlsx)
ws = wb.worksheets[0]

ws.insert_cols(6,1) 或者 ws.insert_cols(6)
如果如上写法,则会在第六列前面 加入一列

ws.insert_cols(7,1) 或者 ws.insert_cols(7)
如果如上写法,则一列都不会新增,依然是保持原有的6列         
4 回复
#2
fall_bernana2019-12-13 16:32
以下是引用pythonguanzh在2019-12-13 15:42:14的发言:

比如excel  中一共有6列

wb  = openpyxl.load_workbook(s.xlsx)
ws = wb.worksheets[0]

ws.insert_cols(6,1) 或者 ws.insert_cols(6)
如果如上写法,则会在第六列前面 加入一列

ws.insert_cols(7,1) 或者 ws.insert_cols(7)
如果如上写法,则一列都不会新增,依然是保持原有的6列         

你只有6列,你想在后面加一列,本来第7列就是空的.你再加个空的列有什么用.你直接在第7列写数据不就可以了吗?
#3
pythonguanzh2019-12-13 16:46
回复 2楼 fall_bernana
如果不插入一列,比如现在有 6列,直接在空白列写数据,会失败:
row[6].value = "第七列"


#4
fall_bernana2019-12-13 16:51
以下是引用pythonguanzh在2019-12-13 16:46:16的发言:

如果不插入一列,比如现在有 6列,直接在空白列写数据,会失败:
row[6].value = "第七列"

不是这么写的.应该是
ws.cell(1,7).value=1
ws.cell(2,7).value=1
#5
pythonguanzh2019-12-13 17:48
回复 4楼 fall_bernana
十分感谢
1