我正在使用PHPExcel库创建一个Excel文件,使用以下代码可以正常工作:
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save($new_name);
当我尝试从其他Web应用程序访问Excel文件时,出现以下错误:
File is used by other program
如何在PHPExcel中关闭$objWriter
来解决此问题?
对此有任何帮助。
答案 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);
我尝试了以上并解决了内存问题!