2016-09-24 22 views
0

当我使用脚本附加一个Excel文件发送它作为电子邮件,从邮件客户端打开文件它说,该文件已损坏或不正确格式。我如何删除该消息。单元格中的数据是OK的。PHPExcel文件打开时是不安全的

$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); 
$objWriter->save("php://output"); 
$data = ob_get_contents(); 

$mail = new PHPMailer; 
$mail->addAddress('[email protected]'); 

$mail->AddStringAttachment($data, '123.xls') 

$mail->Subject = 'Excel'; 
$mail->Body = 'Excel file'; 

if(!$mail->Send()) { 
echo "Mailer Error: " . $mail->ErrorInfo; 
} else { 
echo "Message sent!"; 
} 

回答

1

你给的OfficeOpenXML(.xlsx)文件的.xls的延伸,所以MS Excel将抱怨....

`Excel5` Writer  -> BIFF-format   -> `.xls` file extension 
`Excel2007` Writer -> OfficeOpenXML-format -> `.xlsx` file extension 
+0

当我cange它XLSX无法打开文件 – John

+0

'无法打开文件?!?什么版本的MS Excel?它给了什么错误?如果您使用'.xls'扩展名的'Excel5' Writer,它有问题吗? –

+0

Excel 2016(与Excel 2010相同的问题)它只是说:文件无法打开,因为fileformat或filetypename无效。 – John