У меня есть тонны файлов, в которые мне нужно скопировать определенный лист из них в другую рабочую книгу, их нужно поместить после листа с определенным именем, сохраняя при этом все форматирование на перемещаемом листе.
Я видел в другой ветке, что pywin32 будет правильным способом, но мне трудно копировать этот лист "После" указанного листа.
xl = Dispatch("Excel.Application")
xl.Visible = True
xl.AskToUpdateLinks = False
xl.EnableEvents = False
xl.DisplayAlerts = False
wb1 = xl.Workbooks.Open(Filename=p1)
wb2 = xl.Workbooks.Open(Filename=p2)
ws1 = wb1.Worksheets("ThisSheet")
##PROBLEM LINE HERE
ws1.Copy(After=wb2.Worksheets("AfterThisSheet"))
##END OF PROBLEM LINE
wb2.Sheets("ThisSheet").Name = "NewNameInNewWorkBook"
wb2.Close(SaveChanges=True)
wb1.Close(SaveChanges=True)
xl.Quit()
Когда я использую "До""вместо" После "эта операция выполнена успешно, но, к сожалению, лист, который я хочу скопировать, заканчивается не в том месте.
Когда я использую «После», это возвращает ошибку.
Я могу использовать другие пакеты в python, такие как pandas, xlrd и т. Д., Но, похоже, у них возникают проблемы с сохранением форматирования без изменений,
Заранее спасибо