Python+Excel--工作簿中同名工作表对应批量复制

需求:两个工作簿,工作表名称、内容等一致,需将其中一个工作簿中的工作表批量数据复制到另一个底稿里,代码如下:

import xlwings as xw
import xlrd

def number_to_letter(number):
    if 1 <= number <= 26:
        return chr(number + 64)
    if 27 <= number <=52:
        return str('A')+str(chr(number + 38))
    else:
        return None

app = xw.App(visible=False, add_book=False)
workbook1 = app.books.open(r'E:\CZZ\6. 年报\5 WPS在线文档\测试\BTG附注.xlsx')
workbook2 = app.books.open(r'E:\CZZ\6. 年报\5 WPS在线文档\测试\副本BTG决算.xlsx')

worksheet1 = workbook1.sheets# 获取工作簿中的所有工作表
worksheet2 = workbook2.sheets
lists1 = []
lists2 = []
for i in worksheet1:
    sheet_name1 = i.name
    lists1.append(sheet_name1)
for j in worksheet2:
    sheet_name2 = j.name
    lists2.append(sheet_name2)
print(len(lists1),len(lists2))

for a in lists2:
    sht = workbook2.sheets[a]
    info = sht.used_range
    rows_count=info.last_cell.row#有数据的行数
    cols_count=info.last_cell.column#有数据的列数
    Col = number_to_letter(cols_count)
    source_JS=workbook2.sheets[a].range('A1:'+str(Col)+str(rows_count)).value
    workbook1.sheets[a].range('A2:'+str(Col)+str(rows_count+1)).value = source_JS
    print(a,rows_count,cols_count,"ok")

AA=workbook2.sheets['资产负债表'].range('A1:F4').value
BB=workbook1.sheets['资产负债表'].range('A2:F5').value
print(AA)
print(BB)

workbook1.save()
workbook2.save()
workbook1.close()
workbook2.close()
app.quit()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值