我有一个xlsx文件,它是收据的模板。它包含图像和单元格。我曾经手动进入文件,更新信息,然后导出为pdf,然后再发送给我的客户。如果可能的话,我希望能够通过python将xlsx转换为pdf。
我的问题是没有人显示一个仅选择xlsx文件并将其更改为pdf的教程。还是没有像样的视频教程。
我已经尝试过将openpyxl保存为.pdf扩展名,但是我知道这是一个漫长的尝试。而且我尝试按照堆栈溢出的示例进行操作,但效果不佳。
我不断得到:
File "<COMObject <unknown>>", line 5, in ExportAsFixedFormat Objects of type 'WindowsPath' can not be converted to a COM VARIANT
我很困。
#this file will open a wb and save it as another file name
#this first part opens a file from a location and makes a copy to another location
from pathlib import Path
from win32com import client
#sets filename and file
file_name = 'After Summer Bookings.xlsx'
dir_path = Path('C:/Users/BOTTL/Desktop/Business')
new_file_name = 'hello.pdf'
new_save_place = Path('C:/Users/BOTTL/Desktop/Business Python')
xlApp = client.Dispatch("Excel.Application")
books = xlApp.Workbooks.Open(dir_path / file_name)
ws = books.Worksheets[0]
ws.Visible = 1
ws.ExportAsFixedFormat(0, new_save_place / new_file_name)
我希望它打开我称为After Summer Bookings.xlsx
的xlsx文件并将其另存为名为hello.pdf
的pdf文件
答案 0 :(得分:1)
自己解决了:)
from pathlib import Path
from win32com import client
#sets filename and file
file_name = 'After Summer Bookings.xlsx'
dir_path = Path('C:/Users/BOTTL/Desktop/Business')
new_file_name = 'hello.pdf'
new_save_place = ('C:/Users/BOTTL/Desktop/Business Python/')
path_and_place = new_save_place + new_file_name
xlApp = client.Dispatch("Excel.Application")
books = xlApp.Workbooks.Open(dir_path / file_name)
ws = books.Worksheets[0]
ws.Visible = 1
ws.ExportAsFixedFormat(0,path_and_place)
当连接位置和文件名时,我不喜欢将其设置为路径,因此现在删除路径后,它就像梦一样:)