win32 ExportAsFixedFormat错误

时间:2018-02-19 21:55:08

标签: python excel

我试图更改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),无)

1 个答案:

答案 0 :(得分:0)

我找到了答案。对于我工作桌面上的Excel 2007,我需要下载ExportAsFixedFormat()的加载项。链接在这里: https://www.microsoft.com/en-us/download/confirmation.aspx?id=7

希望这对你也有帮助。:)