3

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

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

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

如何关闭$objWriterPHPExcel 来解决这个问题?

对此有任何帮助。

4

2 回答 2

8

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

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

离开文档,似乎没有真正“关闭”资源的好方法。

于 2013-04-12T18:12:48.913 回答
1
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save($new_name);
$objPHPExcel->disconnectWorksheets();// Good to disconnect
$objPHPExcel->garbageCollect(); // Add this too
unset($objWriter, $objPHPExcel);

我试过上面并解决了内存问题!

于 2018-01-18T11:58:27.823 回答