200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Python-Excel-09-复制单元格区域

Python-Excel-09-复制单元格区域

时间:2021-05-19 03:32:52

相关推荐

Python-Excel-09-复制单元格区域

微信公众号原文

系统:Windows 7

语言版本:Anaconda3-4.3.0.1-Windows-x86_64

编辑器:pycharm-community-.3.2

这个系列讲讲Python对Excel的操作今天讲讲使用win32com模块,复制工作表某一区域数据

Part 1:示例说明

已有一个Excel文件区域复制.xlsx,其中包括4个工作表 工作表:原,原始数据工作表:复制1,空表工作表:复制2,空表工作表:复制3,空表 采用三种方法复制工作表中(A1:C5)区域数据分别到工作表复制1复制2复制3工作表复制1复制3对应方法为全复制;复制2对应方法只复制数据

复制空表

复制后

复制1

复制2

复制3

Part 2:代码

import osimport win32comfrom 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") # 若想引用常数的话使用此法调用Excelxl_app.Visible = True # 是否显示Excel文件wb = xl_app.Workbooks.Open(excel_address)sht_old = wb.Worksheets("原")sht_new_1 = wb.Worksheets("复制1")sht_new_2 = wb.Worksheets("复制2")sht_new_3 = wb.Worksheets("复制3")# 复制工作表rng_data = sht_old.Range(sht_old.Cells(1, 1), sht_old.Cells(5, "C"))rng_data.Copy()sht_new_1.Paste(Destination=sht_new_1.Range("A1"))sht_new_2.Range("A1").PasteSpecial(Paste=c.xlPasteValues)sht_new_3.Range("A1").PasteSpecial(Paste=c.xlPasteAll)wb.Save()wb.Close()xl_app.Quit()

代码截图

Part 3:部分代码解读

sht_new_1.Paste(Destination=sht_new_1.Range("A1")),注意使用Paste方法,目标区域是以参数形式给出的:Destination=sht_new_1.Range("A1")sht_new_2.Range("A1").PasteSpecial(Paste=c.xlPasteValues),目标区域是放在开始的位置xl_app.Quit(),关闭Excel这个程序,也就是说如果同时有其它Excel文件打开,也会被关闭

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

常按图片识别二维码,关注本公众号

Python 优雅 帅气

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。