xlwings: скопировать рабочий лист и воспроизвести его в конце существующего рабочего листа

Я использую xlwings в Windows.

Я копирую лист и хочу воспроизвести его в конце существующего листа. В рабочем листе для копирования я использую фотографию и рисунок.

Я знаю пример кода для воспроизведения копии рабочего листа.

Буду признателен, если вы ответите на мои вопросы.


person rja7218    schedule 19.07.2016    source источник
comment
Что вы имеете в виду под переизданием?   -  person Felix Zumstein    schedule 24.07.2016
comment
Спасибо за ваш комментарий. Я понял слово по ошибке. Я пересмотрел вопрос. Я знаю пример кода для воспроизведения копии рабочего листа.   -  person rja7218    schedule 26.07.2016
comment
Это пока недоступно изначально, но вы можете обойти это, как описано здесь: github.com/ZoomerAnalytics/ xlwings/проблемы/123   -  person Felix Zumstein    schedule 26.07.2016
comment
Извините, был тот же вопрос. Я прочитал вашу ссылку. Мне нужно ключевое слово After, поэтому мне нужно подождать, пока оно не будет реализовано. Спасибо, что сказали мне.   -  person rja7218    schedule 26.07.2016
comment
Как написано в ответе реализован параметр After, просто немного по другому написать. Например, sheet.api.Copy(None, After=existingSheet.api). См. здесь.   -  person mouwsy    schedule 24.12.2020


Ответы (3)


Правильный ответ для копирования листа в конец книги — использовать параметр After.

import xlwings as xw

wb = xw.Book("test.xlsx")
ws1 = wb.sheets['Sheet1']

ws1.api.Copy(None, After=wb.sheets[-1].api)
person mouwsy    schedule 23.12.2020
comment
Работал на меня. Он помещает новый лист в самый конец. (крайнее правое положение) - person JoyfulPanda; 12.05.2021

Я был решен с этим кодом:

Sheet(1).xl_sheet.Copy(Before=Sheet(1).xl_sheet) 
person rja7218    schedule 17.09.2016

Начиная с версии 0.10.4 замените xl_sheet на api:

Sheet(1).api.Copy(Before=Sheet(1).api)
person Robert    schedule 09.07.2019