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. P>
Tout conseils / pointeurs / explications? P>
Merci! P>
5 Réponses :
Je vais vous référer à ce Article Wiki à partir du site de CodeDigniter, ou to Ce tutoriel P>
Utiliser Phpexcel Library P>
Placez le dossier de la classe dans votre bibliothèque d'applications de codeigniter et appelez la classe PHPEXCEL P>
Cela fonctionne bien avec le codeigniter p>
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(".table1").html());">Excel</a>
moyen le plus simple d'intégrer phpexcel avec CodeConiter
Téléchargez d'abord le site PHP Excel du site internet https://phpexcel.codeplex.com/. p> li>
extrayez ensuite la copie et placez dans le dossier Application / Third_Party de Codeignitor. P> LI>
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');
Suivez les étapes suivantes pour faciliter l'exportation des données dans Excel dans le codeigniter 3 strong> <?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;
}