Python-Excel-08-复制工作表

微信公众号原文

系统:Windows 7
语言版本:Anaconda3-4.3.0.1-Windows-x86_64
编辑器:pycharm-community-2016.3.2

  • 这个系列讲讲Python对Excel的操作
  • 今天讲讲使用win32com模块,复制工作表
  • 这种在做大量重复工作时候,先制定一个模板,后续直接复制该表,再做个性化修改即可

Part 1:示例说明

  1. 已有一个Excel文件复制工作表.xlsx,其中一个工作表名称为示例
  2. 复制示例工作表,新工作表名称为新复制
  3. 新复制工作表B1单元格写入复制

原表

7490971-5f37641d564bef79.png
1.png

复制后

7490971-726643cc5585afe4.png
2.png

Part 2:代码

import os
import win32com
from win32com.client import constants as c  # 旨在直接使用VBA常数
current_address = os.path.abspath('.')

excel_address = os.path.join(current_address, "复制工作表.xlsx")
xl_app = win32com.client.gencache.EnsureDispatch("Excel.Application")  # 若想引用常数的话使用此法调用Excel
xl_app.Visible = False  # 是否显示Excel文件
wb = xl_app.Workbooks.Open(excel_address)
sht = wb.Worksheets("示例")

# 复制工作表
new_sht_name = "新复制"
sht.Copy(After=sht)
wb.ActiveSheet.Name = new_sht_name
sht_copy = wb.Worksheets(new_sht_name)
sht_copy.Range("B1").Value = "复制"

wb.Save()
wb.Close()

代码截图

7490971-7cecc2c1500391ce.png
3.png

Part 3:部分代码解读

  1. sht.Copy(After=sht),复制一张新表,并将其位置放在sht
  2. wb.ActiveSheet.Name = new_sht_name,修改新建工作表的名称
  3. sht_copy = wb.Worksheets(new_sht_name),获取新建工作表这个对象
  4. sht_copy.Range("B1").Value = "复制",单元格赋值

本文为原创作品,欢迎分享朋友圈

常按图片识别二维码,关注本公众号
Python 优雅 帅气


7490971-89b1088ed19e2103.jpg
12x0.8.jpg

转载于:https://www.jianshu.com/p/d09304f9bd2b

猜你喜欢

转载自blog.csdn.net/weixin_33753845/article/details/91157320
今日推荐