Загрузить файл excel в PHP Excel из переменной
в настоящее время у меня этот
file_put_contents($tmpfile, $attachments[0]['body']);
$objPHPExcel = PHPExcel_IOFactory::load($tmpfile);
файл, который я читаю, извлекается из электронной почты, поэтому вместо того, чтобы писать его в tempfile Я хотел бы прочитать его непосредственно в phpexcel из строки (если это имеет смысл)
$objPHPExcel = PHPExcel_IOFactory::load($attachments[0]['body']);
Я посмотрел руководство php excel, но не вижу, как это сделать, какие-либо идеи?
3 ответов
PHPExcel не предоставляет прямого метода загрузки из строки, а не из файла. В качестве альтернативы фактическому созданию файла физической файловой системы для $tmpfile вы можете использовать php://memory
или php://temp
Это может быть не самое элегантное решение, но вот как я ее решал:
public function fromString($data=null)
{
$file = tempnam(sys_get_temp_dir(), 'excel_');
$handle = fopen($file, "w");
fwrite($handle, $data);
$return = \PHPExcel_IOFactory::load($file);
fclose($handle);
unlink($file);
return $return;
}
сначала необходимо создать средство чтения для файла excel, а затем загрузить этот файл из построенного средства чтения. Взгляните на этой для полной информации.