pypiwin32 复制sheet 到另一个工作薄

import win32com.client as win32

1、安装包
pip install pypiwin32
pip install openpyxl 

2、代码
import os
from openpyxl import Workbook

dirname = os.path.abspath('.')
excel = win32.DispatchEx('Excel.Application')
excel.Visible = False
excel.DisplayAlerts = False

if os.path.isfile(dirname + '\\' + 'test2.xlsx'):
    os.remove(dirname + '\\' + 'test2.xlsx')

def write_table_upload(ws0, wb2, ws2, sheet_name):
    ws0.Copy(ws2)
    wb2.ActiveSheet.Name = sheet_name
    change_worksheet = wb2.Worksheets(sheet_name)
    change_worksheet.Range('D3').Value = 'D3_Value'
    change_worksheet.Range('D4').Value = 'D4_Value'
    change_worksheet.Range('D5').Value = 'D5_Value'
    change_worksheet.Range('F16').Value = 'F16_SQL'


dirname = dirname.replace('\\', '/')
if __name__ == '__main__':
    for sys_name in ('ECIF', 'IPS'):
        resource_file = dirname + '/' + sys_name + 'test1.xlsx'
        result_file = dirname + '/' + sys_name + 'test2.xlsx'
        print(result_file)
        print(result_file)
        if os.path.isfile(result_file):
            os.remove(result_file)
        if not os.path.exists(result_file) or not os.path.isfile(result_file):
            Workbook().save(result_file)
        wb0 = excel.Workbooks.Open(dirname + '\\' + 'test1.xlsx')
        ws0 = wb0.Worksheets('table_upload_model')
        wb2 = excel.Workbooks.Open(result_file)
        ws2 = wb2.Worksheets("Sheet")
        for sheet_name in (sys_name + 'aaa', sys_name + 'bbb'):
            write_table_upload(ws0=ws0, wb2=wb2, ws2=ws2, sheet_name=sheet_name)

        wb2.Save()
        wb0.Close()
        wb2.Close()
    excel.Application.Quit()

3、示例文件。截图不好截全,就如图就够用了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值