7
votes

Sortie Excel avec codeignier

J'essaie d'obtenir un rapport de mon projet de Cadedigniter à Excel, mais je suis à une perte complète sur la façon de le faire. Cela fonctionne déjà bien, je voudrais juste la sortie dans Excel plutôt qu'une page.

Tout conseils / pointeurs / explications?

Merci!


0 commentaires

5 Réponses :


11
votes

Je vais vous référer à ce Article Wiki à partir du site de CodeDigniter, ou to Ce tutoriel


0 commentaires

3
votes

Utiliser Phpexcel Library

Placez le dossier de la classe dans votre bibliothèque d'applications de codeigniter et appelez la classe PHPEXCEL

Cela fonctionne bien avec le codeigniter


0 commentaires

0
votes

Si vous avez besoin de quelque chose de rapide et de sale (et de fonctionnement potentiellement dans FF uniquement), j'utilise cette solution JS:

<a href="#" onclick="javascript:exportExcel($(this).parents(&quot;.table1&quot;).html());">Excel</a>


0 commentaires

0
votes

moyen le plus simple d'intégrer phpexcel avec CodeConiter

  1. Téléchargez d'abord le site PHP Excel du site internet https://phpexcel.codeplex.com/. p> li>

  2. extrayez ensuite la copie et placez dans le dossier Application / Third_Party de Codeignitor. P> LI>

  3. puis accédez à l'application / bibliothèques de dossier et créez un fichier et nommez-le Excel.php. Et placez le code ci-dessous: p>

    p>

    exiger_oncecPath. "/ troisième_party / phpexcel.php"; // change le chemin si nécessaire. P>

    classe Excel étend phpexcel { fonction publique __Construction () { Parent :: __ construire (); } } p> li> OL>

    4.NOW Créez un contrôleur comme export.php et dans son action Mettez le code: P>

    $this->load->library('Excel');
    $query = $this->db->get('users');
    
    $objPHPExcel = new PHPExcel();
    $objPHPExcel->getProperties()->setTitle("export")->setDescription("none");
    
    $objPHPExcel->setActiveSheetIndex(0);
    
    $col = 0;
    foreach ($header as $field)
    {
        $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, 1, $field);
        $objPHPExcel->getActiveSheet()->getStyle('A1:Z1')->getFont()->setBold(true);
    
        $col++;
    }
    
    // Fetching the table data
    $row = 2;
    foreach($query as $data)
    {
        $col = 0;
        foreach ($fields as $field)
        {
            $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $data[$field]); //change if required.
            $col++;
        }
    
        $row++;
    }
    
    $objPHPExcel->setActiveSheetIndex(0);
    
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
    
    // Sending headers to force the user to download the file
    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment;filename="'.'export_'.$table_name.'.xls"');
    header('Cache-Control: max-age=0');
    
    $objWriter->save('php://output');
    


0 commentaires

0
votes

Suivez les étapes suivantes pour faciliter l'exportation des données dans Excel dans le codeigniter 3 strong>

Téléchargez la bibliothèque Excel du lien donné et mettez tout Dossier Fichier et Excel Strort> dans le dossier de bibliothèque (dans l'application / la bibliothèque) P>

      <?php defined('BASEPATH') OR exit('No direct script access allowed');

       class Exportexel extends CI_Controller {

           function __construct() {
            parent::__construct();
            $this->load->model('Payment_model');
           }

           public function index(){}

           public function excel(){

           $data = $this->Payment_model->getpaymentreceived();
           $i=1;               
           $name = "Devang Hire";

           $html = "<html>";
           $html .= "<body>";
           $html .="<table border=1>";
           $html .="<thead>";
           $html .="<tr>";
           $html .="<th>No.</th><th>Employee Name</th>";
    
           $html .= "</tr>";
           $html .="</thead>";
           $html .="<tbody>";
    
           $html .= "<tr>";
    
          $html .= "<td>".$i."</td>";
          $html .= "<td>".$name."</td>";
          $html .= "</tr>";

          $html.="<tfoot><th></th><th></th></tfoot>";

          $html .="</tbody>";
          $html .="</table>";

         $html .= "<body>";
         $html .= "<html>";
    
    header('Content-Type: application/vnd.ms-excel');
    header('Content-disposition: attachment; filename=EmployeeDetails.xls');
    echo $html;

}   


0 commentaires