2010-06-28 7 views
0

J'ai écrit le code pour obtenir des données de la base de données et les stocker dans la feuille Excel. Je veux télécharger le fichier Excel uniquement. Mais le code suivant donne la sortie du fichier PHP en tant que mon contenu de fichier Excel. Mais j'ai besoin de télécharger le fichier Excel qui est créé dans le fichier PHP.Comment télécharger une feuille Excel à partir du code PHP

<?php 
$start_date="01/06/2010"; 
      $end_date="23/06/2010"; 
      $filename=$user.".xls"; 

      require 'DB.php' ; 
      include 'Spreadsheet/Excel/Writer.php'; 
      $excel = new Spreadsheet_Excel_Writer($filename); 
      $format_bold =& $excel->addFormat(); 
      $format_bold->setBold(); 
      $format_bold->setColor('red'); 
      $sheet= $excel->addWorksheet('Class I'); 
      $sheet->write(0, 0, "Field Name",$format_bold); 
      $sheet->write(0, 1,"Field Name", $format_bold); 
      $sheet->write(0, 2, "Filed Name",$format_bold); 
      $sheet->write(0, 3,"Filed name", $format_bold); 
      $db = DB::connect(connect query); 
      $q=$db->getAll("select * from table_name"); 
      $rowCount=1; 
     foreach ($q as $row) 
     { 
       foreach ($row as $key => $value) 
       { 
        $sheet->write($rowCount, $key, $value); 
       } 
     $rowCount++; 
     } 
header('Pragma: no-cache'); 
header('Expires: 0'); 
header("Content-type: application/x-msexcel"); 
header("Content-Type: application/force-download"); 
header('Content-Disposition: attachment; filename="'$filename'"'); 
?> 

Répondre

1

Vous devez ajouter un appel à la méthode send() pour générer le contenu. De cette façon, vous n'avez pas non plus besoin des en-têtes car la méthode les générera pour vous.

$excel->send($filename); 
0
header ("Expires: Mon, 1 Apr 1974 05:00:00 GMT"); 
header ("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT"); 
header ("Cache-Control: no-cache, must-revalidate"); 
header ("Pragma: no-cache"); 
header ("Content-type: application/x-msexcel"); 
header ('Content-Disposition: attachment; filename="'.$filename.'"'); 
header ("Content-Description: PHP Generated XLS Data"); 
print $sheet; 

est-error_reporting(); commuté max lvl?

+0

Votre code ne fonctionne pas correctement. – muruga

Questions connexes