Подтвердить что ты не робот

Как написать таблицу Excel в переменной, используя PhpExcel?

После загрузки объекта PHPExcel моими данными я хочу вывести содержимое непосредственно в переменную php вместо записи в файл. Пропустил ли я метод для этого, потому что кажется, что единственный способ сохранить - это сохранить на диск.

4b9b3361

Ответ 1

Вы можете использовать запись для сохранения на диск или сохранить в php://вывод. Если последнее, вы можете использовать буферизацию вывода, чтобы захватить этот вывод, а затем сохранить в переменной... не совсем понятно, почему вы хотите сделать это, хотя.

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
ob_start();
$objWriter->save('php://output');
$excelOutput = ob_get_clean();

Ответ 2

Так как PHPExcel записывает файл на диск в любом случае, если вы запишете stdout, то внутренне происходит то, что файл записывается на диск, затем читается с диска (и удаляется), печатается на stdout, а затем записывается в выходной буфер.

Вы также можете:

$tmpfile = tempnam($tmp_dir, 'phpxltmp');

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save($tmpfile);

$excelOutput = file_get_contents($tmpfile);
unlink($tmpfile);