我试图更改excel文件的页脚,然后使用Python3.6中的win32包将其转换为pdf。 它实际上与我的家用电脑和工作PC一起工作只有pdf导出部分给我错误。我想知道MS Office版本是否重要,因为我有最新的家用和Excel 2007在工作。 这是我的代码:
import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
file_path = r"C:\Mydir\DSexample\Myfile.xlsx"
wb = excel.Workbooks.Open(file_path)
ws = wb.ActiveSheet
ws.PageSetup.CenterFooter = '&"Arial,Regular"&8new address'
ws.PageSetup.LeftFooter = '&"Arial,Regular"&8new date'
path_to_pdf = list()
excel.Visible = True
if ws.Cells(24,7).Value[-2]=="R":
print(type(str(ws.Cells(24,7).Value[:-3])))
path_to_pdf.append("C:\\Mydir\\DSexample\\"+str(ws.Cells(24,7).Value[:-3]).strip()+".pdf")
path_to_pdf.append("C:\\Mydir\\DSexample\\" +
str(ws.Cells(24, 7).Value[:-3]).strip() + "R.pdf")
wb.SaveAs(r"C:\Mydir\DSexample\new.xlsx")
for i in range(0,len(path_to_pdf)):
ws.ExportAsFixedFormat(0, path_to_pdf[i])
wb.Close()
我得到的错误是:
追踪(最近一次通话): File" C:/Users/GeneSiC-Guest/PycharmProjects/DScreator/DScreater.py" ;,第27行,在 ws.ExportAsFixedFormat(0,path_to_pdf [i],From = 1,To = 1,OpenAfterPublish = False) 文件" C:\ Users \ GeneSiC-Guest \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ win32com \ gen_py \ 00020813-0000-0000-C000-000000000046x0x1x6_Worksheet.py",line 115,在ExportAsFixedFormat中 ,To,OpenAfterPublish,FixedFormatExtClassPtr) pywintypes.com_error:(-2147352567,'发生异常。',(0,无,无,无,0,-2147024809),无)
答案 0 :(得分:0)
我找到了答案。对于我工作桌面上的Excel 2007,我需要下载ExportAsFixedFormat()的加载项。链接在这里: https://www.microsoft.com/en-us/download/confirmation.aspx?id=7
希望这对你也有帮助。:)