如何快速复制多个sheet表之Python自动化办公openpyxl模块

Grace ·
更新时间:2024-11-14
· 840 次阅读

由于工作中处理表格的工作居多,其中存在了大量的重复工作内容,过年在家隔离学习Python,看了一套自动化办公教程,着重学了一下Excel方面的自动处理
比如:在做审计资料的时候需要大量重复复制sheet表,只需要修改每个sheet里面的个别内容即可,今天得空利用所学的知识写了一个代码,日后将省去不少时间
仅仅用了13行代码搞定,不得不感叹Python的强大,请看一下源码:

from openpyxl import load_workbook # 导入新格式Excel模块 # 打开新格式文档,只能打开xlsx格式,不能打开xls格式 lu_book = load_workbook(filename='D:/路口名.xlsx') lu_sheet = lu_book.active # 获取打开文档的sheet表名称 work_book = load_workbook(filename='D:/2018年度.xlsx') work_sheet = work_book['汇总表'] # 获取打开文档的sheet表名称 # 遍历表格:路口名.xlsx中的内容,若没有values_only=True, # 则遍历值是表格位置而非内容值 for row in lu_sheet.iter_rows(min_row=1, max_row=10, min_col=1, max_col=1, values_only=True): # 复制原有sheet表,创建新sheet new_sheet = work_book.copy_worksheet(work_sheet) # 为新复制创建的sheet表重命名为遍历的值 new_sheet.title = '%s' % row # 指定单元格位置 cell = new_sheet['A6'] # 在指定单元格内写入内容 cell.value = '点位名称:%s' % row # 保存文档,若名字不同重新建一个文档 work_book.save(filename='D:/2018年度.xlsx') work_book.close() # 关闭文档 lu_book.close()

由于文档涉及工作中的保密就不分享了,大家只需要复制源码把内容修改成自己的即可,代码中也做了注释,如有不懂可留言交流。


作者:看我主页



python自动化 openpyxl Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号