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、示例文件。截图不好截全,就如图就够用了。