目录
- 专栏导读
- 背景
- 思路
- 1、加载模板
- 2、项目文件
- 2、完整版代码:
- 3、视频演示:
- 4、总结:
- 👍 该系列文章专栏:[Python办公自动化专栏]
专栏导读
🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手
🏳️🌈 博客主页:[一晌小贪欢的博客主页]
👍 该系列文章专栏:[Python办公自动化专栏]
文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏
❤️ 欢迎各位佬关注! ❤️
背景
-
我需要将若干的数据写进Excel中,但是需要每100行就放入一个sheet中,但是每一个sheet都要保持相同的格式,如下图解释
-
思路
-
主要用到的是,openpyxl中的 wb.copy_worksheet(ws)即:复制一个sheet当作模板
1、加载模板
-
首先我们将Excel中的一个sheet就当作模板,利用openpyxl进行加载
- 代码如下
wb = openpyxl.load_workbook("./模板/" + os.listdir("./模板/")[0])
ws = wb.active
destination_sheet = wb.copy_worksheet(ws)
2、项目文件
-
文件夹——【模板】:放入你的Excel文件其中第一个sheet即为你的模板
-
文件夹——【结果】:保存结果文件夹
2、完整版代码:
-
这里我就用虚假数据,对每个sheet进行填充10行,并且每个sheet都保持上图的格式,完整版代码如下:
# -*- coding: UTF-8 -*-
'''
@Project :测试
@File :main.py
@IDE :PyCharm
@Author :一晌小贪欢
@Date :2023/11/3 14:29
'''
import os
import openpyxl
wb = openpyxl.load_workbook("./模板/" + os.listdir("./模板/")[0])
ws = wb.active
for i in range(10):
destination_sheet = wb.copy_worksheet(ws)
# 设定新复制的sheet名称
destination_sheet.title = 'Sheet'+str(i+1)
for i2 in range(10):
destination_sheet.append(["虚假数据"+str(i+1),"虚假数据"+str(i+1),"虚假数据"+str(i+1),"虚假数据"+str(i+1),
"虚假数据"+str(i+1),"虚假数据"+str(i+1),"虚假数据"+str(i+1),"虚假数据"+str(i+1),
"虚假数据"+str(i+1),"虚假数据"+str(i+1)])
print('Sheet'+str(i+1),'生成成功!!')
wb.save(f"./结果/"+os.listdir("./模板/")[0])