[这家伙似乎和我有同样的问题,但它是Java,我什么都不懂:/ excel can not open the downloaded file through jsp] 大家好,
首先,我想说英语不是我的母语,所以你可能会看到一些错误,但我希望你能理解我。 所以我是一名学生,我有一份“学生工作”,为一家小面包店创建了一个网站!他们需要有一个包含所有客户端的文件,我决定使用PhpExcel来生成它!
我做的一切都很正常,但仍然无效!我当然在google上寻求帮助,但没有人和我有同样的错误信息。这就是我得到的。
源代码在这里:`
if($action=="client-excel"){
/** Error reporting */
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('Europe/London');
/** Include PHPExcel */
require_once '../libs/phpExcel/PHPExcel.php';
// Create new PHPExcel object
$objPHPExcel = new PHPExcel();
// Set document properties
$objPHPExcel->getProperties()->setCreator("BakeryName")
->setLastModifiedBy("Clients")
->setTitle("Liste Clients ")
->setSubject("Liste Clients ")
->setDescription("Liste Clients ")
->setKeywords("Liste Clients ")
->setCategory("Liste Clients");
$toSupp=array();
$objPHPExcel->createSheet();
$array=array();
$array['header'][]="#client";
$array['header'][]="Nom";
$array['header'][]="Mail";
$array['header'][]="Nombre de pain(s) acheté(s)";
$array['data']=array();
$list = Client::getAllClients($order="id_client",$letter="",$valid=false,$start=0,$limit=100000); foreach($list as $client){
$client_array=array(
$client->getId(),
$client->getName(),
$client->getEmail(),
$client->getNbPainsCmd(),
);
$array['data'][]=$client_array;
}
if(sizeof($array['data'])==0){
$toSupp = $z;
}
$objPHPExcel->setActiveSheetIndex(0);
$j=0;
foreach($array['header'] as $h){
$objRichText = new PHPExcel_RichText();
$objRichText->createTextRun($h)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow ($j,1, $objRichText);
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn($j)->setAutoSize(true);
$j++;
}
for($i=0;$i<sizeof($array['data']);$i++){
for($j=0;$j<sizeof($array['data'][$i]);$j++){
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow ($j,$i+2, $array['data'][$i][$j]);
}
}
// Rename worksheet
$objPHPExcel->getActiveSheet()->setTitle("Liste clients");
// Redirect output to a client’s web browser (Excel2007)
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="filename.xlsx"');
header('Cache-Control: max-age=0');
header('Cache-Control: max-age=1');
header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header ('Pragma: public'); // HTTP/1.0
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
exit;
}`
非常感谢你所有的潜在答案!