import openpyxl as op
# 设置路径
path_1 = (r'E:\Python\shiyunxing\生产模板.xlsx') #模板路径
path_2 = (r'E:\Python\shiyunxing\门窗表.xlsx') #门窗表路径
path_3 = (r'E:\Python\shiyunxing\分析表.xlsx') #保存路径
#以下代码用于获取“模板”数量并生产列表
list_mb_sheet = []
wb_1 = op.load_workbook(path_1) #打开模板工作簿
mb_sheet = wb_1.worksheets
for i in mb_sheet:
list_mb_sheet.append(i.title)
print(list_mb_sheet)
#生成门窗表列表
wb_2 = op.load_workbook(path_2)
ws = wb_2['门窗表'] #打开工作表
list_mcb = list(ws.values)
print(list_mcb)
#生成分析表并保存
for i in list_mcb: #遍历门窗表
if i[1] in list_mb_sheet: #如果门窗表中系列在模板中有
sheet_name = i[2] #工作表名字为门窗编号并提前设为一个变量
fxb = wb_1.copy_worksheet(wb_1[i[1]]) #在模板中复制一个对应模板
fxb.title = sheet_name #将复制的模板命名为变量名
wb_1.save(path_3) #另存
如何将列表【按行】写入 指定工作表 的指定单元格区域
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
CSDN专家-HGJ 2021-06-24 16:40关注可以用循环方式写入,示例:
s=[['a','b','c'],[10,20,30]] import openpyxl wb=openpyxl.load_workbook('t2.xlsx') ws=wb.active for i,row in enumerate(ws['A1':'C2']): for j,col in enumerate(row): col.value=s[i][j] wb.save('t2.xlsx')如有帮助,请采纳。点击我回答右上角【采纳】按钮。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报