首页 > 解决方案 > 尝试通过 Python 转换为 PDF 时 Excel 显示错误

问题描述

我正在尝试编写一个代码,该代码会自动将我的 Excel 工作表保存为 PDF 并使其正常工作,但是对于某些文件,Excel 会向我抛出一个错误,指出“文档未保存。文档可能已打开,或者可能有错误保存时遇到。”

我试过用其他文件运行相同的代码,它似乎适用于大约一半的文件。我试图将文件命名为不同的 PDF 名称,但对于相同的文件仍然会引发相同的错误。


import win32com.client as win32

Xlsx = win32.Dispatch('Excel.Application')
Xlsx.Visible = True
wb = Xlsx.Workbooks.Open('Sample')
wb.WorkSheets([3,4,5,6,7,8]).Select()
wb.ActiveSheet.ExportAsFixedFormat(0, 'Sample')
wb.Save()
wb.Close()
Xlsx.Quit()
del wb
del Xlsx

标签: excelpython-3.x

解决方案


我会将此作为评论,但我还没有足够的荣誉来做到这一点。我建议问题可能是某些文件较大,无论出于何种原因,文件需要更长的时间来保存,因此在文件被关闭(但尚未保存)时存在问题。因此,我认为如果您在导出之后和/或关闭之前暂停几毫秒,它将处理此问题。

最初,您可以尝试以下延迟一秒钟:

进口时间

时间.sleep(1)

如果这样可以解决问题,您可以使用 time.sleep(.100) 将时间减少到 100 毫秒并再次测试。


推荐阅读