Разве win32 не конвертирует листы диаграмм в Excel в PDF? - PullRequest
0 голосов
/ 24 апреля 2019

Я работаю над программным обеспечением для обработки данных, и моя конечная цель - преобразовать книгу Excel в PDF. Я использую win32 для выполнения этой задачи. Рабочая книга Excel имеет 2 рабочих листа: рабочий лист с надписью «Данные», где хранятся данные, и рабочий лист (Диаграмма) с именем «Диаграмма», где отображается диаграмма данных.

Поскольку я новичок в модуле, я решил сначала попробовать экспортировать каждый лист в отдельности в формат PDF, прежде чем выполнять оба листа одновременно. У меня не было проблем с преобразованием таблицы «Данные», но при попытке преобразования таблицы «Диаграмма» появлялись ошибки. В конечном итоге я решил распечатать количество рабочих листов в рабочей книге

wb = xl_app.Workbooks.Open(path_to_wb)
print(wb.Worksheets.Count)

и мой результат был не 2, как я ожидал, а 1.

Это код, который я использовал для преобразования таблицы данных в PDF. Я просто изменил sheet = wb.Worksheets(1) на sheet = wb.Worksheets(2), чтобы указать, что мне нужен второй лист, «Диаграмма».

def make_pdf(self): 
        xl_app = client.Dispatch('Excel.Application')
        path_to_wb = r'File_Path.xlsx'
        wb = xl_app.Workbooks.Open(path_to_wb)
        path_to_pdf = r'File_Path.pdf'
        sheet = wb.Worksheets(2)
        sheet.ExportAsFixedFormat(Type = 0, Filename = path_to_pdf)
        wb.Close(path_to_wb)

В настоящее время он продолжает выдавать ошибки, когда я пытаюсь преобразовать таблицу «Диаграмма». Любая помощь будет принята с благодарностью.

...