2016-09-24 7 views
0

Когда я использую скрипт для прикрепления файла excel при отправке его в виде электронной почты, открывая файл из почтового клиента, он говорит, что файл поврежден или не сформирован правильно. Как удалить это сообщение. Данные в ячейках в порядке.Файл 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

Когда я Канг его XLSX он не может открыть файл – John

+0

' Не удается открыть файл '?!? Какая версия MS Excel? Какая ошибка это дает? Есть ли проблемы, если вы используете «Excel5» Writer с расширением '.xls'? –

+0

Excel 2016 (такая же проблема с Excel 2010). Он просто говорит: файл нельзя открыть, потому что fileformat или filetypename не имеют значения. – John

Смежные вопросы