2010-05-19 137 views
4

任何一个可以请让我知道,为什么这个下面的错误已经从PHPExcel类抛出致命错误:在PHPExcel类未捕获的异常“异常”

Fatal error: Uncaught exception 'Exception' with message 'Could not close zip file 
/var/www/mydomain/myexcel.xlsx.' in /var/www/mydomain/Classes/PHPExcel/Writer 
/Excel2007.php:400 Stack trace: #0 /var/www/mydomain/myexcel.php(173): 
PHPExcel_Writer_Excel2007->save('/var/www/mydomain...') #1 {main} 
thrown in /var/www/mydomain/Classes/PHPExcel/Writer/Excel2007.php on line 400 
+0

“PHPExcel”与http://phpexcel.codeplex.com/中一样? – VolkerK 2010-05-19 07:20:00

+0

不会更详细,并可能追踪您的代码/工作簿。假设PHPExcel 1.7.2 – 2010-05-19 07:55:04

回答

4

我希望这个异常可能会发生,因为Excel工作表仍处于打开状态。还请检查您在其中写入/保存/上载.xlsx文件的文件夹的权限。

+0

是的文件扩展名被错误地给出 – Chakrapani 2010-05-21 14:24:43

1

的异常被抛出,因为PHPExcel已经打开拉链用于编写Excel工作簿的文件;但是当它试图在完成时再次关闭它时,zip库方法调用close()失败。 为什么它失败了是真正的问题,并且只能通过了解错误信息才能解决。

4

我的教育猜测是,这是由于你试图写入的文件夹的权限是错误的。如果是这种情况,请将文件夹设为可写(从外观来看,这是一个坏主意) - 或尝试保存到Web用户具有写权限的位置以解决问题。

BTW您正在使用什么版本的PHPExcel?

+0

感谢您的想法:我会运行一些测试......然后可以在写入之前进行权限测试并抛出更有意义的异常 – 2010-05-19 15:37:52

4

此错误的最可能原因是您没有权限写入您尝试保存Excel文件的目录。

0

我有同样的问题 - 这里是我如何解决它: 传统的PHP运行作为web服务器守护程序,所以它会站在有理由相信Web服务器守护程序需要在子目录,并且应该是整个Examples子目录的组拥有者。我做了这个简单的改变,它完美地工作。

相关问题