2016-08-03 179 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');