2016-08-03 169 views
0

我想创建一个xlsx文件,并使用PHPExcel。现在我只是添加了一行,我试图创建并保存文件,但它不起作用。用PHPExcel保存xlsx文件

我的代码是:

$objPHPExcel = new PHPExcel(); 
    $chemin = "./././files/resultats/simulation".$singleton->getNom()."_".date("d").".".date("m").".".date("y").".xml"; 
    $xmlFile = simplexml_load_file($chemin); 

    $ligne = "3"; 
    $colonne = "B"; 

    foreach ($xmlFile as $xml) //on aprcours les attributs <Simulation> 
    { 
     $objPHPExcel->getActiveSheet()->setTitle('Synthèse système culture'); 
     $objPHPExcel->getActiveSheet()->setCellValue("B".$ligne,"Nom du système de culture"); 
     $objPHPExcel->getActiveSheet()->mergeCells("B3:B4"); 

     $ligne++; //Quand on termine une simulation, on ajoute une ligne pour afficher la simulation suivante sur la ligne du dessous 
    } 
    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); 
    header('Content-Disposition: attachment;filename="test.xlsx"'); 
    header('Cache-Control: max-age=0'); 

    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); 
    $objWriter->save('test.xlsx'); 

有什么不好呢?我试图保存“test.xlsx”,它不起作用。

回答

2

您正在将.xlsx文件保存到服务器而不是输出流。通过读取保存的文件输出缓冲区使用

$objWriter->save('php://output'); 

或者:你可以通过做这个

readfile('test.xlsx');