Поэтому я пытаюсь создать функцию для преобразования выбранных листов из файла xlsb в файл pdf или xlsx. В настоящее время это так:
import os
import win32com.client
from pathlib import Path
worksheet_names = ['Sheet1', 'Sheet2']
exist_check = os.path.isfile(save_path / file_name)
if exist_check:
pass
else:
try:
xlApp = win32com.client.Dispatch("Excel.Application")
xlApp.Visible = 0
xlApp.DisplayAlerts = 0
wb = xlApp.Workbooks.Open(xl_file_path)
for index in worksheet_names:
ws = wb.Worksheets[index]
ws.PageSetup.Orientation = 2
wb.WorkSheets(worksheet_names).Select()
xlTypePDF = 0
xlQualityStandard = 0
xlApp.ActiveSheet.ExportAsFixedFormat(0, output_path)
except Exception as e:
print(e)
finally:
wb.Close(False)
xlApp.Quit()
wb = None
xlApp = None
Эта функция хорошо сохраняет обычные рабочие листы, но не может выбрать рабочий лист, когда он является независимым объектом диаграммы (т. Е. Диаграммой, которая находится на своем собственном рабочем листе и имеет имя рабочего листа). Мне было интересно, как я мог бы экспортировать лист вместе с этим объектом диаграммы в xlsx или pdf? Также, если диаграмма зависит от листа, могу ли я сохранить зависимости при преобразовании в xlsx?