Как создать новую книгу Excel из существующей после обновления данных - PullRequest
0 голосов
/ 12 марта 2020

У меня есть книга Excel с несколькими листами. Некоторые листы содержат снимки экрана, а некоторые листы содержат данные. Некоторые листы содержат оба. Назовите эту книгу Workbook A. Мне нужно программно создать копию рабочей книги после обновления данных на листах и ​​сохранить все снимки экрана. Назовите эту книгу Workbook B. Данные обновляются после подключения к базе данных и выполнения SQL. Вот как я это делаю в настоящее время

Шаг 1 - Сделайте копию Рабочей книги A и назовите копию Рабочей книги B.

Шаг 2 - Для каждого листа в Рабочей книге A, в котором есть данные,

      - execute the SQL and create a dataframe from the SQL results.

      - delete the sheet from Workbook B

      - Create a new sheet with the same name in Workbook B from the dataframe (using df.to_excel())

Это работает нормально, но единственная проблема заключается в том, что новые листы, добавленные в книгу B, добавляются в конце книги как последние листы. Это меняет порядок листов по сравнению с Рабочей книгой A. Мне нужно сохранить тот же порядок листов в Рабочей книге B, что и в Рабочей книге A.

Я также пытался сделать это, используя xlrd, openpyxl и pandas но я не могу получить тот же порядок листов, что и в оригинальной книге. Если использовать pandas, преобразовать все листы в кадры данных, а затем воссоздать рабочую книгу из кадра данных по порядку, я могу получить тот же порядок, но потерял все снимки экрана.

Любая помощь для достижения этой цели будет высоко оценена .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...