试图将excel数据动态附加到邮件中

时间:2017-10-10 12:21:46

标签: php excel email yii2 phpexcel

我想动态附加一个excel文件到邮件中。

我正在使用以下代码生成PHPExcel_IOFactory对象。

$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');

我序列化了这个对象并发送到我的邮件程序并在邮件程序中使用以下代码来附加它。

Yii::$app->mailer->attachContent($excelData, ['fileName' => 'testfile.xlsx', 'contentType' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'])

它将数据作为excel文件附加,但是当我尝试打开它时。我说“文件已损坏”。

请帮助我。我不想在将excel文件附加到邮件之前保存它。

1 个答案:

答案 0 :(得分:0)

我使用以下代码将文件附加到邮件中。

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

但问题是,在将内容作为附件附加到邮件时,它还会提示保存文件。

如何停止此提示?并附加文件而不提示文件进行保存。