解决方案1
使用该
openpyxl软件包的仅Python解决方案。仅数据值将被复制。
import openpyxl as xlpath1 = 'C:\Users\xukrao\Desktop\workbook1.xlsx'path2 = 'C:\Users\xukrao\Desktop\workbook2.xlsx'wb1 = xl.load_workbook(filename=path1)ws1 = wb1.worksheets[0]wb2 = xl.load_workbook(filename=path2)ws2 = wb2.create_sheet(ws1.title)for row in ws1: for cell in row: ws2[cell.coordinate].value = cell.valuewb2.save(path2)
解决方案2
使用该
pywin32程序包将复制操作委派给Excel应用程序的解决方案。数据值,格式和工作表中的所有其他内容都将被复制。注意:此解决方案仅在安装了MS
Excel的Windows计算机上有效。
from win32com.client import Dispatchpath1 = 'C:\Users\xukrao\Desktop\workbook1.xlsx'path2 = 'C:\Users\xukrao\Desktop\workbook2.xlsx'xl = Dispatch("Excel.Application")xl.Visible = True # You can remove this line if you don't want the Excel application to be visiblewb1 = xl.Workbooks.Open(Filename=path1)wb2 = xl.Workbooks.Open(Filename=path2)ws1 = wb1.Worksheets(1)ws1.Copy(Before=wb2.Worksheets(1))wb2.Close(SaveChanges=True)xl.Quit()解决方案3
使用该
xlwings程序包将复制操作委派给Excel应用程序的解决方案。本质上,Xlwings是围绕(大多数,尽管不是全部)
pywin32/
appscriptexcel API函数的智能包装。数据值,格式和工作表中的所有其他内容都将被复制。注意:此解决方案仅在安装了MS
Excel的Windows或Mac计算机上有效。
import xlwings as xwpath1 = 'C:\Users\xukrao\Desktop\workbook1.xlsx'path2 = 'C:\Users\xukrao\Desktop\workbook2.xlsx'wb1 = xw.Book(path1)wb2 = xw.Book(path2)ws1 = wb1.sheets(1)ws1.api.Copy(Before=wb2.sheets(1).api)wb2.save()wb2.app.quit()



