Bonjour,
Je poste cette question car je bloque sur une partie de mon développement où je dois exporter une liste grâce à excel.
J'ai déjà commencé quelques petites choses, mais mon problème étant que mes données arrivent uniquement sur la colonne A alors que je précise selon moi que je veux des données sur les colonnes suivantes. Voici le visuel
Controller
Model
View
Modifié par Jisiiss (19 Aug 2020 - 13:45)
Je poste cette question car je bloque sur une partie de mon développement où je dois exporter une liste grâce à excel.
J'ai déjà commencé quelques petites choses, mais mon problème étant que mes données arrivent uniquement sur la colonne A alors que je précise selon moi que je veux des données sur les colonnes suivantes. Voici le visuel
Controller
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Export extends CI_Controller {
// construct
public function __construct() {
parent::__construct();
// load model
$this->load->model('Export_model', 'export');
}
public function index() {
$data['export_list'] = $this->export->exportList();
$this->load->view('export', $data);
}
// create xlsx
public function exportCsv() {
// create file name
$fileName = 'data-'.time().'.xlsx';
// load excel library
$this->load->library('Excel');
// $this->load->library('PHPExcel');
$listInfo = $this->export->exportList();
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
// set Header
$objPHPExcel->getActiveSheet()->SetCellValue('A1', 'meeting_id');
$objPHPExcel->getActiveSheet()->SetCellValue('B1', 'title');
$objPHPExcel->getActiveSheet()->SetCellValue('C1', 'place');
$objPHPExcel->getActiveSheet()->SetCellValue('D1', 'datebegin');
$objPHPExcel->getActiveSheet()->SetCellValue('E1', 'timebegin');
$objPHPExcel->getActiveSheet()->SetCellValue('F1', 'dateend');
$objPHPExcel->getActiveSheet()->SetCellValue('G1', 'timeend');
// set Row
$rowCount = 2;
foreach ($listInfo as $meeting) {
$objPHPExcel->getActiveSheet()->SetCellValue('A' . $rowCount, $meeting->meeting_id);
$objPHPExcel->getActiveSheet()->SetCellValue('B' . $rowCount, $meeting->title);
$objPHPExcel->getActiveSheet()->SetCellValue('C' . $rowCount, $meeting->place);
$objPHPExcel->getActiveSheet()->SetCellValue('D' . $rowCount, $meeting->datebegin);
$objPHPExcel->getActiveSheet()->SetCellValue('E' . $rowCount, $meeting->timebegin);
$objPHPExcel->getActiveSheet()->SetCellValue('F' . $rowCount, $meeting->dateend);
$objPHPExcel->getActiveSheet()->SetCellValue('G' . $rowCount, $meeting->timeend);
$rowCount++;
}
$filename = "Liste_des_sessions_LocalForm-". date("d-m-Y-H-i-s").".csv";
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$filename.'"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV');
$objWriter->save('php://output');
}
}
?>
Model
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Export_model extends CI_Model {
public function exportList() {
$this->db->select(array('meeting_id', 'title', 'place', 'datebegin', 'timebegin', 'dateend','timeend'))
->from('test_meeting');
$query = $this->db->get();
return $query->result();
}
}
?>
View
<!-- Presence -->
<div class="container">
<a style="float:right;" class="waves-effect btn-large waves-light blue" href="<?php echo site_url( 'export/exportCsv') ?>" >Exporter les sessions</a>
</div>
Modifié par Jisiiss (19 Aug 2020 - 13:45)