Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excels在尝试通过Python转换为PDF时显示错误_Excel_Python 3.x - Fatal编程技术网

Excels在尝试通过Python转换为PDF时显示错误

Excels在尝试通过Python转换为PDF时显示错误,excel,python-3.x,Excel,Python 3.x,我正在尝试编写一个代码,自动将我的excel工作表保存为PDF并使其工作,但对于某些文件,excel会向我抛出一个错误,说明“文档未保存。文档可能已打开,或者在保存时可能遇到错误。” 我试着用其他文件运行相同的代码,但似乎对其中的一半都有效。我尝试将该文件命名为不同的PDF名称,但仍然会对相同的文件抛出相同的错误 将win32com.client作为win32导入 Xlsx=win32.Dispatch('Excel.Application') Xlsx.Visible=True wb=Xls

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

我试着用其他文件运行相同的代码,但似乎对其中的一半都有效。我尝试将该文件命名为不同的PDF名称,但仍然会对相同的文件抛出相同的错误


将win32com.client作为win32导入
Xlsx=win32.Dispatch('Excel.Application')
Xlsx.Visible=True
wb=Xlsx.Workbooks.Open('示例')
wb.工作表([3,4,5,6,7,8])。选择()
wb.ActiveSheet.ExportAsFixedFormat(0,“示例”)
wb.Save()
wb.Close()
Xlsx.Quit()
德尔wb
德尔Xlsx

我想把这作为一个评论,但我还没有足够的荣誉去做这件事。我认为问题可能是某些文件较大,并且出于任何原因,文件需要更长的时间才能保存,因此在关闭(但尚未保存)文件时存在问题。因此,我认为如果在导出之后和/或关闭之前暂停几毫秒,它就会处理这个问题

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

导入时间

时间。睡眠(1)


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

我试过了,但它似乎仍然给我一个错误。我试图运行代码直到ExportAsFixedFormat行,但它仍然抛出相同的错误。问题是否在导出行中?所有工作簿的页数是否相同?问题发生在导出行。工作手册的页数不尽相同,但它们都有足够的页数,而索引本不应成为问题。