Python 将一个工作簿的所有工作表批量复制到其他工作簿

import os
import xlwings as xw
app = xw.App(visible=False,add_book=False)
file_path = 'd:\\python_file\\销售表'    # 给出目标工作簿所在的文件夹路径
file_list = os.listdir(file_path)       # 列出文件与子文件夹
workbook = app.books.open('d:\\python_file\\信息表.xlsx')  # 打开来源工作表
worksheet = workbook.sheets   # 获取来源工作簿中的所有工作表
for i in file_list:
    if os.path.splitext(i)[1] == '.xlsx':    # 判断文件是否是工作簿
        workbooks = app.books.open(file_path + '\\' + i)  # 如果是则打开
        for j in worksheet:
            contents = j.range('A1').expand('table').value   # 读取来源工作簿中要复制的工作表数据
            name = j.name   # 获取来源工作簿中的工作表名称
            workbooks.sheets.add(name=name, after=len(workbooks.sheets))   # 在目标工作簿中新增同名工作表
            workbooks.sheets[name].range('A1').value = contents    # 将从来源工作簿中读取的工作表数据写入新增工作表
        workbooks.save()
app.quit()
用_Excel_制作漂亮的工资条的方法.doc 用 Excel 制作漂亮的工资条的方法   如何使用Excel进行工资条的制作,也许有些网友使用已经很长时间了,但如何更快更好的做出漂亮的工资条,看看作者的方法吧。   “小问题难倒老财务”,也许你已经在财务口上工作多年,也许你天天都要面对Excel那张老脸,也许你已经习惯了用工资明细做员工工资统计并向上级汇报,把中的条目一条条复制粘贴后打印发给每个员工。可你是否想过,找一个更简单更有效率的方法?看起来这似乎有些困难:在工资明细中,工资的项目(即头)一般只出现在格开头的某一行,而在工资条中,为了便于阅读则要求每个人的工资都有头,那么如何巧妙地把工资明细制作成便于打印的工资条呢?如图所示,这就是我们要完成的工作(原工资见图1,转换成工资条后的效果见图2): 图1 原工资 图2 转换后效果   “条条大路通罗马”,不过路有远近之分,方法也有难易之别,这里给大家提供三种最简单易用的方法。   方法一:宏命令控制法   对于Office家族的宏功能,大家或许早有耳闻,但由于需要使用VBA进行编程,所以宏一直让许多人望而却步,不过要使用一个现成的宏就简单多了。首先打开要处理的Excel,选择“工具→宏→Visual Basic 编辑器”,在编辑器左边的窗口中用鼠标双击Sheet1,会出现代码编辑窗口,在代码编辑窗口输入如下代码(为了不破坏原有的工资,所以这里采用了将 Sheet1的内容复制Sheet2的方法,所以最后的生成结果是在Sheet2中显示):   Sub MakeSalaryList()   Dim i As Integer   Dim endrow As Integer   '测出数据的最后一行   endrow = Sheet1.Range("a65536").End(xlUp).Row - 1   '把标题贴过去   Worksheets(1).Range("1:1").Copy (Worksheets(2).Cells(1, 1))   For i = 3 To endrow   '把每条数据抬头贴过去   Worksheets(1).Range("2:2").Copy (Worksheets(2).Cells(3 * i - 7, 1))   '把数据贴过去   Worksheets(1).Range(Cells(i, 1), Cells(i, 256)).Copy (Worksheets(2).Cells(3 * i - 6, 1))   Next i   End Sub   关闭编辑器,将自动返回到刚才的Excel,选择“工具→宏→宏”,将弹出如下对话框:(见图3) 方法二:公式填充法   相比宏命令,公式填充法更便于理解,不过需要手工操作的步骤稍微多一些,“鱼和熊掌不可得兼”,要用哪种方法就看你的爱好了。   首先打开要操作的Excel工资,为了不破坏原(Sheet1)结构,我们仍然采用在Sheet2中进行操作的方法。由于这个工资一共有L列,18行,要复制
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值