我遇到了这个问题,它没有显示实际的excel文件.请检查下面的代码:
/** Error reporting */
error_reporting(E_ALL);
/** PHPExcel */
require_once 'PHPExcel.php';
include 'PHPExcel/Writer/Excel2007.php';
// Create new PHPExcel object
#echo date('H:i:s') . " Create new PHPExcel object\n";
$objPHPExcel = new PHPExcel();
$excel = new PHPExcel();
$objPHPExcel->getProperties()->setTitle("Payroll");
if(!$result){
die("Error");
}
$col = 0;
$row = 2;
while($mrow = mysql_fetch_assoc($result)) {
$col = 0;
foreach($mrow as $key=>$value) {
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $value);
$col++;
}
$row++;
}
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0) …Run Code Online (Sandbox Code Playgroud) 我的代码适用于IE和FF.在Chrome中,浏览器会在文件名的开头和结尾添加" - "连字符,从而无法识别文件类型.在保存为csv时重命名文件使其在Excel中在单个单元格中打开但我想要一个解决方案来在代码端处理它.这似乎很难.
以下是我的代码:
//fileName = xxxx.csv
response.setContentType("application/download");
response.setHeader("Cache-Control", "public");
response.setHeader("Content-Type", "application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename= \"" + fileName + "\"");
Run Code Online (Sandbox Code Playgroud)
注意:我搜索了很多博客,但没有找到Chrome的解决方案.