2017-10-10 62 views
0

我想随时附加一个excel文件到邮件。试图将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文件。

+0

您序列化作家对象?不是一个好主意。我没有看到你在任何地方调用'save()'来实际生成文件 –

+0

@Mark我不想在上传文件之前保存文件。是的,你是对的,序列化在这里不是好主意。 – arun

回答

0

我使用下面的代码将文件附加到邮件。

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

但它的问题是,虽然内容附加到邮件作为附件,它也提示保存该文件。

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