Я читаю два файла excel, используя php-excel-reader ( из этого)
Прочитав два файла 1-й строки, я сравниваю их. Если они такие же, я добавляю содержимое файла в другое. Чтобы написать файл, я использую этот
Теперь для этого хочу закрыть один файл, но эта функция недоступна в php-excel-reader
вот мой код
compare file { $data = new Spreadsheet_Excel_Reader($filepath); $data1 = new Spreadsheet_Excel_Reader($destinationfilepath); } unset($data); unset($data1); if($flag==0) { $excel = new ExcelWriter($destinationfilepath); // read the source file $finalarray= array(); for($m=1;$m<$sourcefilerowcount;$m++) { $charvalue='A'; $temprow=$m+1; for($n=0;$n<$destinationcolnum;$n++) { $data = new Spreadsheet_Excel_Reader($filepath); $finalarray[$n]=$data->val($temprow,$charvalue); $charvalue++; } print_r($finalarray)."<br/>"; $excel->writeLine($finalarray); }
Нет необходимости явно вызывать функцию close (), потому что файл автоматически закрывается в методе load (). Если вы посмотрите на Excel2007.php, где определен PHPExcel_Reader_Excel2007, вы увидите:
public function load($pFilename) { ... $zip = new ZipArchive; $zip->open($pFilename); ... $zip->close(); return $excel; }
Просто отключите свой объект PHPExcel_Reader, и данные будут удалены из памяти:
$objReader = PHPExcel_IOFactory::createReader('Excel2003XML'); $objPHPExcel = $objReader->load("Excel2003XMLTest.xml"); ... unset($objPHPExcel); unset($objReader);
с$objReader = PHPExcel_IOFactory::createReader('Excel2003XML'); $objPHPExcel = $objReader->load("Excel2003XMLTest.xml"); ... unset($objPHPExcel); unset($objReader);