如何使用openpyxl将列表赋值至Excel指定的行与列?
实现列表写入Excel指定行/列
核心思路
你之前的代码用sheet.append(i)会把每个元素作为单独一行写入第一列,要指定位置,直接用sheet.cell()方法精准定位单元格即可,下面分两种常见场景给出实现:
场景1:横向写入指定行(同一行多列)
比如要把列表从**第2行第3列(即C2单元格)**开始横向排列:
lst = [50, 56, 62, 68, 74, 80, 86] start_row = 2 # 起始行号 start_col = 3 # 起始列号 for idx, num in enumerate(lst): # 列号随索引递增,保持行号不变 sheet.cell(row=start_row, column=start_col + idx, value=num)
场景2:纵向写入指定列(同一列多行)
比如要把列表从**第5行第1列(即A5单元格)**开始纵向排列:
lst = [50, 56, 62, 68, 74, 80, 86] start_row = 5 # 起始行号 start_col = 1 # 起始列号 for idx, num in enumerate(lst): # 行号随索引递增,保持列号不变 sheet.cell(row=start_row + idx, column=start_col, value=num)
补充说明
- 如果需要写入任意分散的行列,直接给
row和column传对应数值即可,不用依赖索引偏移 - 示例基于
openpyxl库(你的代码里sheet.append()是该库的方法),如果用其他库(如xlwt/pandas),逻辑类似,只是单元格定位语法略有不同
内容的提问来源于stack exchange,提问作者roso
相关产品推荐
相关产品推荐

