2013-05-15 7 views
0

J'ai écrit un script d'exportation qui exportera les données de ma base de données en tant que fichier CSV ou XLS. Les données de la base de données doivent d'abord être manipulées. Jusqu'à présent, j'ai le fichier CSV qui fonctionne et j'essaie maintenant de convertir cette chaîne CSV en XLS. Je veux utiliser phpExcel mais obtenir l'erreur ci-dessous. Quelqu'un peut-il aider?PHP Conversion CSV en XLS - erreur phpExcel

Fatal error: Class 'PHPExcel_Exception' not found in /var/www/leanne/api/library/PHPExcel/Exception.php on line 36 

Code qui est à l'origine de l'erreur, tout fonctionnait bien jusqu'à ce que j'ai ajouté les trucs XLS:

if($format == 'csv'){ 
       //create and write to file for CSV 
       if(file_exists($file_location . $filename)){ 
        unlink($file_location . $filename); 
       } 
       $fh = fopen($file_location . $filename , 'a'); 
       fwrite($fh, $csv); 
       fclose($fh); 
      } else if($format == 'xls'){ 
       //wite to file for XLS 
       include '../library/PHPExcel/IOFactory.php'; 

       $objReader = PHPExcel_IOFactory::createReader('CSV'); 
       $objReader->setDelimiter($separator); 
       $objReader->setEnclosure(" "); 
       $objReader->setLineEnding($endrow); 

       $objPHPExcel = $objReader->load($csv); 
       $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); 
       $objWriter->save($file_location . $filename);    

      } 

NB: csv est une chaîne contenant des champs cités séparées par des virgules et double à partir de la base de données. Les lignes se terminent par '\ n'.

+0

quel type de base de données est-ce? mysql? –

+0

si c'est mysql vous pouvez l'exporter directement en utilisant le code ici http://www.jamesnorthard.com/export-mysql-to-excel-using-php/ –

+0

SQL Server. L'erreur est liée au plugin PHPExcel car tout a bien fonctionné avant d'ajouter ceci. – LeeTee

Répondre

1

Ive téléchargé les fichiers à nouveau et a commencé à partir de zéro et son fonctionnement. Doit avoir été quelque chose de stupide que j'avais fait, désolé de perdre votre temps et merci pour l'aide.