【发布时间】:2019-07-15 21:13:53
【问题描述】:
我正在尝试将 excel 文件转换为 PDF。使用Print chosen worksheets in excel files to pdf in python 和Python - Converting XLSX to PDF,我编写了下面的代码。
这可以毫无问题地将 excel 转换为 PDF,但它会打开 excel 文件。我认为.Visible = False 的目的是为了防止这种情况发生?我希望 excel 对象保持隐藏状态,因为我正在对 100 多个文件执行此操作,并且我不希望 excel 打开 100 次。
import win32com.client
import os
import re
nm = 'Sample.xlsx'
excel = win32com.client.Dispatch("Excel.Application")
excel.Visible = False
wb = excel.Workbooks.Open('{0}\\{1}'.format(os.getcwd(), nm))
wb.WorkSheets('Report').Select()
nm_pdf = re.sub('.xlsx', '.pdf', nm, count = 1)
wb.ActiveSheet.ExportAsFixedFormat(0, '{0}\\{1}'.format(os.getcwd(), nm_pdf))
#excel.Quit()
【问题讨论】:
-
这是您正在寻找的答案吗? stackoverflow.com/questions/4439689/…
-
@Sirsmorgasboard,这是针对没有
.Visible属性的应用程序的解决方法。但是 OP 说 Excel 确实具有该属性,并且由于我使用的是 Excel,.Visible应该可以正常工作吗?