Odeílání phpoffice PhpSpreadsheet do e-mailu
- Sejber
- Člen | 10
Ahoj,
pro generování XLSX souborů používám phpoffice PhpSpreadsheet.
Excel to hezky vygeneruje, ale potřebuju ho odeslat e-mailem. V současné době ideálně aniž by se uložil na FTP.
$attachment = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, ‚Xlsx‘);
Když zkusím klasicky $this->message->addAttachment($attachment); tak mi to padá na tom, že basename() expects parameter 1 to be string, object given.
Nejspíš tam posílám ten dokument ve špatném formátu.
Poradil by někdo?
Díky
- David Matějka
- Moderator | 6445
@iguana007 coz ve skutecnosti taky vytvori temp soubor: https://github.com/…ter/Xlsx.php#L179 :)
- iguana007
- Člen | 970
David Matějka napsal(a):
@iguana007 coz ve skutecnosti taky vytvori temp soubor: https://github.com/…ter/Xlsx.php#L179 :)
Vidis, tak moc do hloubky jsem uz nesel, takze smolicek :)))
- Sejber
- Člen | 10
iguana007 napsal(a):
Jedine asi takto:
$objWriter = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, ‚Xlsx‘); ob_start(); $objWriter->save('php://output'); $attachment = ob_get_clean(); $this->message->addAttachment($attachment);
Díky, tohle řešení bude nakonec vyhovovat. Už nám to funguje :-)