My app (php/phpExcel( 为.csv文件提供了下载功能。当我使用 chrome 或 IE 下载文件时,一切都很好,但是当我使用 Firefox 进行下载时,它将文件扩展名更改为".csv.htm",然后 Excel 询问如何打开,因为扩展名和文件格式不适合在一起。
header('Content-Encoding: UTF-8');
header('Content-type: text/csv; charset=UTF-8');
header('Content-Disposition: attachment; filename="csvdownload_'.date("Y-m-d_H_i_s").'.csv');
echo "xEFxBBxBF"; // UTF-8 BOM
// If you're serving to IE 9, then the following may be needed
header('Cache-Control: max-age=1');
// If you're serving to IE over SSL, then the following may be needed
header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header ('Pragma: public'); // HTTP/1.0
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV');
$objWriter->setDelimiter(';');
$objWriter->setEnclosure('"');
$objWriter->setLineEnding("rn");
$objWriter->save('php://output');
使用下面显示的标题,所有浏览器都应该很高兴并将文件下载为 CSV。如果您尚未计算字节数,只需省略该标头即可。
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Content-disposition: attachment; filename="Your_File_Name_Here.csv"');
header('Content-length: ' . $FileBytes);
header('Content-type: application/octetstream');
header('Pragma: no-cache');
header('Expires: 0');