如何在PHPExcel中创建excel文件后关闭它

时间:2013-04-12 14:52:01

标签: php phpexcel

我正在使用PHPExcel库创建一个Excel文件,使用以下代码可以正常工作:

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save($new_name);

当我尝试从其他Web应用程序访问Excel文件时,出现以下错误:
File is used by other program

如何在PHPExcel中关闭$objWriter来解决此问题?

对此有任何帮助。

2 个答案:

答案 0 :(得分:6)

您可以尝试在保存后专门销毁资源,但在脚本结束时应自动覆盖。 disconnectWorksheets()方法也可以解决这个问题。

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save($new_name);
$objPHPExcel->disconnectWorksheets();
unset($objWriter, $objPHPExcel);

离开documentation,似乎没有一种好方法可以“关闭”资源。

答案 1 :(得分:0)

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save($new_name);
$objPHPExcel->disconnectWorksheets();// Good to disconnect
$objPHPExcel->garbageCollect(); // Add this too
unset($objWriter, $objPHPExcel);

我尝试了以上并解决了内存问题!