0
我有一個PHPExcel腳本輸出一個Excel文件的問題是,當我從服務器打開它,我可以打開它沒有問題。但是,當我通過瀏覽器中的標題下載它時,它不起作用。PHPExcel無效的文件創建
我在網上搜索了這個問題,但是我沒有找到任何幫助我的東西,我試過用ob_clean();我檢查BOM是否是問題,沒有任何工作。
所以,我希望你們中的一些人有一個想法,這將讓我的腳本工作。
$this->objPHPExcel = $this->objReader->load($this->newFilePath);
$objWorksheet = $this->objPHPExcel->getActiveSheet();
$objWriter = PHPExcel_IOFactory::createWriter($this->objPHPExcel, 'Excel2007');
//Adding IO General Overhead
foreach($this->sums as $sumkey => $sumval){
foreach($sumval as $keys => $vals){
foreach($vals as $key => $val){
$objWorksheet->setCellValueByColumnAndRow($key, $offset[$sumkey][$keys], $val);
}
}
$objWriter->save($this->newFilePath);
}
ob_clean();
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
// It will be called file.xls
header('Content-Disposition: attachment; filename="'.$this->newFilePath.'"');
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
一如既往....在一個文本文件打開編輯器,並檢查任何前導/尾隨空白(包括BOM標記),或任何明顯的數據流中的明文錯誤消息....我必須經常重複這個,我真的應該爲它設置一個宏 – 2013-02-25 15:54:31
但是看在你的代碼中,你在哪裏發送文件到瀏覽器?您需要保存到php:// output __after__發送標題;或在發送頭文件後讀取文件($ this-> newFilePath) – 2013-02-25 15:58:57