打开使用phpExcel生成的Excel文件时出错

时间:2014-12-08 07:05:26

标签: php codeigniter phpexcel

我正在尝试使用 Codeigniter 中的 phpExcel 库生成 Excel 文件。 问题是,在下载文件时,它会以未经分割的格式显示字符

打开下载的文件时会显示不同格式的信息,请参阅图片 enter image description here

并将文件内容打开为

enter image description here

我的代码是:

if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    $this->load->library('excel');
    $sheet = new PHPExcel();
    $objWorkSheet = $sheet->createSheet();
    $sheet->getProperties()->setTitle('JDI Problem Improvement Strip')->setDescription('JDI Problem Improvement Strip');
    $sheet->setActiveSheetIndex(0);

$sheet_writer = PHPExcel_IOFactory::createWriter($sheet, 'Excel5');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="01simple.xls"');
header('Cache-Control: max-age=0');
$sheet_writer->save('php://output');

2 个答案:

答案 0 :(得分:0)

您是否正在创建Excel 2007文件?如果是,请尝试使用mimetype application/vnd.openxmlformats-officedocument.spreadsheetml.sheet和文件扩展名.xslx

参考 - PHP Excel - The file you are trying to open .xls is in a different format than specified by the file extension

答案 1 :(得分:0)

ob_end_clean(); 
ob_start();

它清除缓冲区并获得正确的输出。至少对我来说,它可以解决问题。