У меня есть небольшой скрипт PHPExcel, который выводит файл Excel, проблема в том, что, открыв его с сервера, я могу открыть его без проблем. Но когда я загружаю его через заголовок в браузере, он не работает.PHPExcel Invalid File Created
Я искал проблему в Интернете, но я не нашел ничего, что помогло мне, я попытался с ob_clean() ;, я проверил, является ли спецификация проблемой, ничего не получилось.
Поэтому я надеюсь, что у некоторых из вас есть идея ONE, которая позволит моему скрипту работать.
$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");
Как всегда .... открыть файл в текстовом редактор и проверить любые ведущие/конечные пробелы (включая маркер спецификации) или любые очевидные сообщения об ошибках открытого текста в потоке данных .... Я должен повторять это так часто, мне действительно нужно настроить макрос для него –
Но глядя на ваш код, куда вы отправляете файл в браузер? Вам либо нужно сохранить на php: // вывод __after__ отправки заголовков; или readfile ($ this-> newFilePath) после отправки заголовков –