2016-08-03 8 views
0

xlsxファイルを作成したいのですが、PHPExcelを使用しています。現時点では、私は行を追加して、ファイルを作成して保存しようとしていますが、動作しません。xlsxファイルをPHPExcelで保存する

私のコードは次のとおりです。

$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'); 
関連する問題