2017-10-10 91 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(); 

但它的問題是,雖然內容附加到郵件作爲附件,它也提示保存該文件。

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