Bug (risolto) per output file excel su IE

October 3rd 2010 by Paolo Bindi in: Php | Tags: Php

Dopo la creazione di un file excel, avevo necessita' che questo si aprisse all'utente, senza crearlo su disco. La definizione dell'header che usavo,

header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$nomefile.'.xls"');
header('Cache-Control: max-age=0');

$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
$objWriter->save('php://output');
funziona solo su FireFox e su Internet Explorer, ma solo se per quest'ultimo il sito web dove risiede l'applicaizone, non e' pubblico.

Per risolvere definisco l'header in questo modo

header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$nomefile.'.xls"');
header("Pragma: public");
header("Expires: 0"); // set expiration time
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
$objWriter->save('php://output');

Nel caso che riscontrate qualche errore o se volete contattarmi per qualche consiglio o suggerimento, utilizzate la form della sezione contatti