my_parent_controller(); Response::handleSessionTimeout("bo"); $this->load_language_backoffice(); Page::authorize(PAGE_CODE['dashboard'], PRIVS[PAGE_CODE['dashboard']]['view'], true); $this->clear_cache(); $this->lang->load('backoffice/dashboard_lang', 'fr'); // Create new PHPExcel object $this->spreadsheet = new Spreadsheet(); //get active sheet $this->sheets = $this->spreadsheet->getActiveSheet(); //create writer object $this->writer = new Xlsx($this->spreadsheet); //tab title $this->sheetTitle = "dashboard_data"; //no show excel tabs pagination $this->reports = "data_fields"; //start iteration in row 6 dataset exclude row 1 - 5(which is the excel main pane headers) $this->dataset = 6; //set default excel font size which is 8 $this->default_font = 8; //Default maximum row $this->defaultMaximumRow = 2000; //set default background color $this->default_background_color = '428bcb'; $this->load->model('dashboard_statistics_model'); } /** * Set execution and memory limit * * @return void * access public */ public function setMemoryLimit() { ini_set('memory_limit', '1024M'); ini_set('max_execution_time', (60*3)); } /** * Set document properties * * @return void * access public */ public function setDocumentProperties() { return $this->spreadsheet->getProperties()->setCreator("Company For Madagascar Event Management System") ->setLastModifiedBy("Company For Madagascar Event Management System") ->setTitle("Office 2007 XLSX Document") ->setSubject("Office 2007 XLSX Document") ->setDescription("No show export import file") ->setKeywords("office 2007 openxml php") ->setCategory("Export file"); } /** * Set headers(pragma, cache control , cookies etc..) * * @param string $filename * @return void */ public function setHeaders($filename) { // Redirect output to a client’s web browser (Excel2007) header('Content-Type: application/vnd.ms-excel; charset=utf-8'); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="'.$filename.'.xlsx"'); header('Cache-Control: max-age=0'); // If you're serving to IE 9, then the following may be needed header('Cache-Control: max-age=1'); // If you're serving to IE over SSL, then the following may be needed header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified header('Cache-Control: cache, must-revalidate'); // HTTP/1.1 header('Pragma: public'); // HTTP/1.0 $this->writer->save('php://output'); exit(); } /** * Auto size columns for each worksheet * * @return void * access public */ public function setExcelAutoSize() { foreach ($this->spreadsheet->getWorksheetIterator() as $worksheet) { $this->spreadsheet->setActiveSheetIndex($this->spreadsheet->getIndex($worksheet)); $sheet = $this->sheets; $cellIterator = $sheet->getRowIterator()->current()->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(true); foreach ($cellIterator as $cell) { $sheet->getColumnDimension($cell->getColumn())->setAutoSize(true); } } } /** * set excel main headers (first rows 1 - 5 with freeze pane) * * @param integer $eventID * @param integer $eventScheduleID * @param string $event_title * @return void * access private member */ private function setExcelHeaders() { /*create four tabs*/ /* * first sheet * headers for the graph data */ $this->sheets->getRowDimension(1)->setRowHeight(-1); foreach(range('A','U') as $columnID) { $this->sheets->getColumnDimension($columnID)->setAutoSize(true); } // merge and set cell values $this->sheets->freezePane('B5') ->setTitle('F-Général (données graphiques)') ->mergeCells('B2:V2') ->setCellValue('B2', 'Catégorie') ->mergeCells('A2:A4') ->setCellValue('A2', 'Date') ->mergeCells('B3:D3') ->setCellValue('B3', 'Visiteurs') ->setCellValue('D4', $this->lang->line('statistics')['connected_users']) ->setCellValue('C4', $this->lang->line('statistics')['known_users']) ->setCellValue('B4', $this->lang->line('statistics')['new_users']) ->mergeCells('E3:G3') ->setCellValue('E3', $this->lang->line('statistics')['unique_sessions_per_subscriber']) ->setCellValue('G4', $this->lang->line('statistics')['connected_users']) ->setCellValue('F4', $this->lang->line('statistics')['known_users']) ->setCellValue('E4', $this->lang->line('statistics')['new_users']) ->mergeCells('H3:J3') ->setCellValue('H3', $this->lang->line('statistics')['number_of_sessions']) ->setCellValue('J4', $this->lang->line('statistics')['connected_users']) ->setCellValue('I4', $this->lang->line('statistics')['known_users']) ->setCellValue('H4', $this->lang->line('statistics')['new_users']) ->mergeCells('K3:M3') ->setCellValue('K3', $this->lang->line('statistics')['export']['page_view']) ->setCellValue('M4', $this->lang->line('statistics')['connected_users']) ->setCellValue('L4', $this->lang->line('statistics')['known_users']) ->setCellValue('K4', $this->lang->line('statistics')['new_users']) ->mergeCells('N3:P3') ->setCellValue('N3', $this->lang->line('statistics')['unique_page_view']) ->setCellValue('P4', $this->lang->line('statistics')['connected_users']) ->setCellValue('O4', $this->lang->line('statistics')['known_users']) ->setCellValue('N4', $this->lang->line('statistics')['new_users']) ->mergeCells('Q3:S3') ->setCellValue('Q3', $this->lang->line('statistics')['avg_events_views']) ->setCellValue('S4', $this->lang->line('statistics')['connected_users']) ->setCellValue('R4', $this->lang->line('statistics')['known_users']) ->setCellValue('Q4', $this->lang->line('statistics')['new_users']) ->mergeCells('T3:V3') ->setCellValue('T3', $this->lang->line('statistics')['bounce_rate']) ->setCellValue('V4', $this->lang->line('statistics')['connected_users']) ->setCellValue('U4', $this->lang->line('statistics')['known_users']) ->setCellValue('T4', $this->lang->line('statistics')['new_users']) // set style ->getStyle('A2:V4')->applyFromArray([ 'font' => [ 'bold' => true ], 'alignment' => array( 'horizontal' => Alignment::HORIZONTAL_CENTER, ) ]); /* * end first sheet headers */ /*FILTERED DATA*/ /* * fifth sheet */ // merge and set cell values /* * end fourth sheet headers */ /* * second sheet * headers for the graph data */ $objWorksheet = $this->spreadsheet->createSheet(1); $objWorksheet->setTitle('F-Général (Web et Devices'); $objWorksheet->getRowDimension(1)->setRowHeight(-1); foreach(range('A','V') as $columnID) { $objWorksheet->getColumnDimension($columnID)->setAutoSize(true); } // merge and set cell values $objWorksheet->freezePane('A4') ->mergeCells('A2:B2') ->setCellValue('A2', $this->lang->line('statistics')['web_browsers']) ->setCellValue('A3', $this->lang->line('statistics')['browser_type']) ->setCellValue('B3', $this->lang->line('statistics')['number_of_users']) // ->setCellValue('C3', 'Year') ->mergeCells('E2:F2') ->setCellValue('E2', $this->lang->line('statistics')['device_type']) ->setCellValue('E3', $this->lang->line('statistics')['type']) ->setCellValue('F3', $this->lang->line('statistics')['number_of_users']) // ->setCellValue('G3', 'Year') ->mergeCells('I2:J2') ->setCellValue('I2', $this->lang->line('statistics')['link_clicks']) ->setCellValue('I3', $this->lang->line('statistics')['link_url']) ->setCellValue('J3', $this->lang->line('statistics')['number_of_clicks']) // ->setCellValue('K3', 'Year') ->mergeCells('M2:N2') ->setCellValue('M2', $this->lang->line('statistics')['sent_forms']) ->setCellValue('M3', $this->lang->line('statistics')['category']) ->setCellValue('N3', $this->lang->line('statistics')['number_of_clicks']) // ->setCellValue('O3', 'Year') ; // set style $objWorksheet->getStyle('A2:V3')->applyFromArray([ 'font' => [ 'bold' => true ], 'alignment' => array( 'horizontal' => Alignment::HORIZONTAL_CENTER, ) ])->getAlignment()->setWrapText(true); /* * end second sheet headers */ /* * third sheet * headers for the graph data */ $objWorksheet = $this->spreadsheet->createSheet(2); $objWorksheet->setTitle('F-Abonnes'); $objWorksheet->getRowDimension(2)->setRowHeight(60); foreach(range('A','V') as $columnID) { $objWorksheet->getColumnDimension($columnID)->setAutoSize(true); } // merge and set cell values $objWorksheet->freezePane('A4') ->mergeCells('A2:B2') ->setCellValue('A2', "{$this->lang->line('statistics')['number_of_subscriptions']} ({$this->lang->line('statistics')['new_who_confirmed']}") ->setCellValue('A3', $this->lang->line('statistics')['number_of_subscriptions']) // ->setCellValue('B3', 'Date') ->mergeCells('E2:F2') ->setCellValue('E2', $this->lang->line('statistics')['events_per_status']) ->setCellValue('E3', $this->lang->line('statistics')['status']) ->setCellValue('F3', $this->lang->line('statistics')['number_of_users']) // ->setCellValue('G3', 'Year') ->mergeCells('I2:J2') ->setCellValue('I2', $this->lang->line('statistics')['avg_subscription_per_user'].' (par abonnés)') ->setCellValue('I3', $this->lang->line('statistics')['avg_subscription']) // ->setCellValue('J3', 'Year') ->mergeCells('L2:M2') ->setCellValue('L2', $this->lang->line('statistics')['total_reserved_places']) ->setCellValue('L3', $this->lang->line('statistics')['total_reserved_places']) // ->setCellValue('M3', 'Year') ->mergeCells('O2:P2') ->setCellValue('O2', $this->lang->line('statistics')['total_cancellation_of_reservation'].' (annulation totale de réservation)') ->setCellValue('O3', $this->lang->line('statistics')['total_cancelled_places']) // ->setCellValue('P3', 'Year') ; // set style $objWorksheet->getStyle('A2:V2')->applyFromArray([ 'font' => [ 'bold' => true ], 'alignment' => array( 'horizontal' => Alignment::HORIZONTAL_CENTER, ) ])->getAlignment()->setWrapText(true); $objWorksheet->getStyle('A2:A2')->applyFromArray([ 'font' => [ 'bold' => true ], 'alignment' => array( 'horizontal' => Alignment::HORIZONTAL_CENTER, ) ])->getAlignment()->setWrapText(true); $objWorksheet->getStyle('E2:F2')->applyFromArray([ 'font' => [ 'bold' => true ], 'alignment' => array( 'horizontal' => Alignment::HORIZONTAL_CENTER, ) ])->getAlignment()->setWrapText(true); $objWorksheet->getStyle('I2:I2')->applyFromArray([ 'font' => [ 'bold' => true ], 'alignment' => array( 'horizontal' => Alignment::HORIZONTAL_CENTER, ) ])->getAlignment()->setWrapText(true); $objWorksheet->getStyle('L2:L2')->applyFromArray([ 'font' => [ 'bold' => true ], 'alignment' => array( 'horizontal' => Alignment::HORIZONTAL_CENTER, ) ])->getAlignment()->setWrapText(true); $objWorksheet->getStyle('O2:O2')->applyFromArray([ 'font' => [ 'bold' => true ], 'alignment' => array( 'horizontal' => Alignment::HORIZONTAL_CENTER, ) ])->getAlignment()->setWrapText(true); /* * end third sheet headers */ /* * fourth sheet * headers for the graph data */ $objWorksheet = $this->spreadsheet->createSheet(3); $objWorksheet->setTitle('F-Recherches'); $objWorksheet->getRowDimension(1)->setRowHeight(-1); foreach(range('A','U') as $columnID) { $objWorksheet->getColumnDimension($columnID)->setAutoSize(true); } // merge and set cell values $objWorksheet->freezePane('A5') ->mergeCells('A2:K2') ->setCellValue('A2', $this->lang->line('statistics')['internal_research']) ->mergeCells('A3:B3') ->setCellValue('A3', $this->lang->line('statistics')['by_type_of_event']) ->setCellValue('A4', $this->lang->line('statistics')['event_type']) ->setCellValue('B4', $this->lang->line('statistics')['number']) // ->setCellValue('C4', 'Year') ->mergeCells('E3:F3') ->setCellValue('E3', $this->lang->line('statistics')['by_month']) ->setCellValue('E4', $this->lang->line('statistics')['month']) ->setCellValue('F4', $this->lang->line('statistics')['number']) // ->setCellValue('G4', 'Year') ->mergeCells('I3:J3') ->setCellValue('I3', $this->lang->line('statistics')['by_city']) ->setCellValue('I4', $this->lang->line('statistics')['city']) ->setCellValue('J4', $this->lang->line('statistics')['number']) // ->setCellValue('K4', 'Year') ; $objWorksheet->mergeCells('M2:N2') ->setCellValue('M2', $this->lang->line('statistics')['external_research']) ->mergeCells('M3:N3') ->setCellValue('M3', $this->lang->line('statistics')['search_syntax']) ->setCellValue('M4', $this->lang->line('statistics')['expressions']) ->setCellValue('N4', $this->lang->line('statistics')['number']) // ->setCellValue('O4', 'Year') ->mergeCells('Q3:S3') ->setCellValue('Q3', $this->lang->line('statistics')['origin']) ->setCellValue('Q4', $this->lang->line('statistics')['source']) // ->setCellValue('R4', 'Source moyenne') ->setCellValue('R4', $this->lang->line('statistics')['channel']) ->setCellValue('S4', $this->lang->line('statistics')['number_of_users']) // ->setCellValue('U4', 'Year') ; // set style $objWorksheet->getStyle('A2:U4')->applyFromArray([ 'font' => [ 'bold' => true ], 'alignment' => array( 'horizontal' => Alignment::HORIZONTAL_CENTER, ) ])->getAlignment()->setWrapText(true); /* * end fourth sheet headers */ } /*ALL DATA*/ // private function setExcelHeaders() // { // /*create four tabs*/ // /* // * first sheet // * headers for the graph data // */ // // // merge and set cell values // $this->sheets->freezePane('B4') // ->setTitle('General (graph data)') // ->mergeCells('B1:V1') // ->setCellValue('B1', 'Category') // // ->mergeCells('A1:A3') // ->setCellValue('A1', 'Date') // // ->mergeCells('B2:D2') // ->setCellValue('B2', 'Visiteurs') // ->setCellValue('D3', $this->lang->line('statistics')['connected_users']) // ->setCellValue('C3', $this->lang->line('statistics')['known_users']) // ->setCellValue('B3', $this->lang->line('statistics')['new_users']) // // ->mergeCells('E2:G2') // ->setCellValue('E2', $this->lang->line('statistics')['unique_sessions_per_subscriber']) // ->setCellValue('G3', $this->lang->line('statistics')['connected_users']) // ->setCellValue('F3', $this->lang->line('statistics')['known_users']) // ->setCellValue('E3', $this->lang->line('statistics')['new_users']) // // ->mergeCells('H2:J2') // ->setCellValue('H2', 'Sessions duration') // ->setCellValue('J3', $this->lang->line('statistics')['connected_users']) // ->setCellValue('I3', $this->lang->line('statistics')['known_users']) // ->setCellValue('H3', $this->lang->line('statistics')['new_users']) // // ->mergeCells('K2:M2') // ->setCellValue('K2', $this->lang->line('statistics')['export']['page_view']) // ->setCellValue('M3', $this->lang->line('statistics')['connected_users']) // ->setCellValue('L3', $this->lang->line('statistics')['known_users']) // ->setCellValue('K3', $this->lang->line('statistics')['new_users']) // // ->mergeCells('N2:P2') // ->setCellValue('N2', 'Unique pageviews') // ->setCellValue('P3', $this->lang->line('statistics')['connected_users']) // ->setCellValue('O3', $this->lang->line('statistics')['known_users']) // ->setCellValue('N3', $this->lang->line('statistics')['new_users']) // // ->mergeCells('Q2:S2') // ->setCellValue('Q2', 'Event views') // ->setCellValue('S3', $this->lang->line('statistics')['connected_users']) // ->setCellValue('R3', $this->lang->line('statistics')['known_users']) // ->setCellValue('Q3', $this->lang->line('statistics')['new_users']) // // ->mergeCells('T2:V2') // ->setCellValue('T2', 'Bounce Rate') // ->setCellValue('V3', $this->lang->line('statistics')['connected_users']) // ->setCellValue('U3', $this->lang->line('statistics')['known_users']) // ->setCellValue('T3', $this->lang->line('statistics')['new_users']) // // // // set style // ->getStyle('A1:V3')->applyFromArray([ // 'font' => [ // 'bold' => true // ], // 'alignment' => array( // 'horizontal' => Alignment::HORIZONTAL_CENTER, // ) // ]); // /* // * end first sheet headers // */ // // /* // * second sheet // * headers for the graph data // */ // $objWorksheet = $this->spreadsheet->createSheet(1); // $objWorksheet->setTitle('General (Web & Device type)'); // // $objWorksheet->getRowDimension(1)->setRowHeight(-1); // foreach(range('A','V') as $columnID) { // $objWorksheet->getColumnDimension($columnID)->setAutoSize(true); // } // // merge and set cell values // $objWorksheet->freezePane('A3') // ->mergeCells('A1:C1') // ->setCellValue('A1', 'Navigateurs Web') // ->setCellValue('A2', 'Browser Type') // ->setCellValue('B2', 'Nbre') // ->setCellValue('C2', 'Year') // // ->mergeCells('E1:G1') // ->setCellValue('E1', 'Type de device') // ->setCellValue('E2', 'Device type') // ->setCellValue('F2', 'Nbre') // ->setCellValue('G2', 'Year') // // ->mergeCells('I1:K1') // ->setCellValue('I1', 'Liens Cliques') // ->setCellValue('I2', 'Url Link') // ->setCellValue('J2', 'Clicks') // ->setCellValue('K2', 'Year') // // ->mergeCells('M1:O1') // ->setCellValue('M1', 'Formulaires envoyés') // ->setCellValue('M2', 'Category') // ->setCellValue('N2', 'Clicks') // ->setCellValue('O2', 'Year'); // // // set style // $objWorksheet->getStyle('A1:V2')->applyFromArray([ // 'font' => [ // 'bold' => true // ], // 'alignment' => array( // 'horizontal' => Alignment::HORIZONTAL_CENTER, // ) // ])->getAlignment()->setWrapText(true); // /* // * end second sheet headers // */ // // /* // * third sheet // * headers for the graph data // */ // $objWorksheet = $this->spreadsheet->createSheet(2); // $objWorksheet->setTitle('Abonnes'); // // $objWorksheet->getRowDimension(1)->setRowHeight(60); // foreach(range('A','V') as $columnID) { // $objWorksheet->getColumnDimension($columnID)->setAutoSize(true); // } // // merge and set cell values // $objWorksheet->freezePane('A3') // ->mergeCells('A1:B1') // ->setCellValue('A1', "Nombre d'inscriptions (Nouveau qui a confirmé son formulaire de première inscription)") // ->setCellValue('A2', 'Nbre') // ->setCellValue('B2', 'Year') // // ->mergeCells('E1:G1') // ->setCellValue('E1', "Nombre d'événements par statuts (prochainement, en cours, complets, terminés, passés, archivés) total + /année") // ->setCellValue('E2', 'Status') // ->setCellValue('F2', 'Nbre') // ->setCellValue('G2', 'Year') // // ->mergeCells('I1:J1') // ->setCellValue('I1', "Nombre de réservations effectuées (par abonnés)") // ->setCellValue('I2', 'Nbre') // ->setCellValue('J2', 'Year') // // ->mergeCells('L1:M1') // ->setCellValue('L1', "Nombre de places réservées") // ->setCellValue('L2', 'Nbre') // ->setCellValue('M2', 'Year') // // ->mergeCells('O1:P1') // ->setCellValue('O1', "Nombre d'annulations effectuées (annulation totale de réservation)") // ->setCellValue('O2', 'Nbre') // ->setCellValue('P2', 'Year') // ; // // // set style // $objWorksheet->getStyle('A1:V2')->applyFromArray([ // 'font' => [ // 'bold' => true // ], // 'alignment' => array( // 'horizontal' => Alignment::HORIZONTAL_CENTER, // ) // ])->getAlignment()->setWrapText(true); // /* // * end third sheet headers // */ // // /* // * fourth sheet // * headers for the graph data // */ // $objWorksheet = $this->spreadsheet->createSheet(3); // $objWorksheet->setTitle('Recherches'); // // $objWorksheet->getRowDimension(1)->setRowHeight(-1); // foreach(range('A','U') as $columnID) { // $objWorksheet->getColumnDimension($columnID)->setAutoSize(true); // } // // merge and set cell values // $objWorksheet->freezePane('A4') // ->mergeCells('A1:K1') // ->setCellValue('A1', "Recherches Internes") // // ->mergeCells('A2:C2') // ->setCellValue('A2', 'By event type') // ->setCellValue('A3', 'Event type') // ->setCellValue('B3', 'Nbre') // ->setCellValue('C3', 'Year') // // ->mergeCells('E2:G2') // ->setCellValue('E2', 'By month') // ->setCellValue('E3', 'Month') // ->setCellValue('F3', 'Nbre') // ->setCellValue('G3', 'Year') // // ->mergeCells('I2:K2') // ->setCellValue('I2', 'By location') // ->setCellValue('I3', 'Location') // ->setCellValue('J3', 'Nbre') // ->setCellValue('K3', 'Year'); // // $objWorksheet->mergeCells('M1:O1') // ->setCellValue('M1', "Recherches Externes") // ->mergeCells('M2:O2') // ->setCellValue('M2', 'Syntaxe de recherche') // ->setCellValue('M3', 'Expressions') // ->setCellValue('N3', 'Nbre') // ->setCellValue('O3', 'Year') // // ->mergeCells('Q2:U2') // ->setCellValue('Q2', "Provenance") // ->setCellValue('Q3', 'Source') // ->setCellValue('R3', 'Source Medium') // ->setCellValue('S3', 'Channel') // ->setCellValue('T3', 'Nbre') // ->setCellValue('U3', 'Year') // ; // // // set style // $objWorksheet->getStyle('A1:U3')->applyFromArray([ // 'font' => [ // 'bold' => true // ], // 'alignment' => array( // 'horizontal' => Alignment::HORIZONTAL_CENTER, // ) // ])->getAlignment()->setWrapText(true); // /* // * end fourth sheet headers // */ // // // /*FILTERED DATA*/ // /* // * fifth sheet // */ // $objWorksheet = $this->spreadsheet->createSheet(4); // $objWorksheet->getRowDimension(1)->setRowHeight(-1); // foreach(range('A','U') as $columnID) { // $objWorksheet->getColumnDimension($columnID)->setAutoSize(true); // } // // merge and set cell values // // $objWorksheet->freezePane('B5') // ->setTitle('F-General (graph data)') // ->mergeCells('B2:V2') // ->setCellValue('B2', 'Category') // // ->mergeCells('A2:A4') // ->setCellValue('A2', 'Date') // // ->mergeCells('B3:D3') // ->setCellValue('B3', 'Visiteurs') // ->setCellValue('D4', $this->lang->line('statistics')['connected_users']) // ->setCellValue('C4', $this->lang->line('statistics')['known_users']) // ->setCellValue('B4', $this->lang->line('statistics')['new_users']) // // ->mergeCells('E3:G3') // ->setCellValue('E3', $this->lang->line('statistics')['unique_sessions_per_subscriber']) // ->setCellValue('G4', $this->lang->line('statistics')['connected_users']) // ->setCellValue('F4', $this->lang->line('statistics')['known_users']) // ->setCellValue('E4', $this->lang->line('statistics')['new_users']) // // ->mergeCells('H3:J3') // ->setCellValue('H3', 'Sessions duration') // ->setCellValue('J4', $this->lang->line('statistics')['connected_users']) // ->setCellValue('I4', $this->lang->line('statistics')['known_users']) // ->setCellValue('H4', $this->lang->line('statistics')['new_users']) // // ->mergeCells('K3:M3') // ->setCellValue('K3', $this->lang->line('statistics')['export']['page_view']) // ->setCellValue('M4', $this->lang->line('statistics')['connected_users']) // ->setCellValue('L4', $this->lang->line('statistics')['known_users']) // ->setCellValue('K4', $this->lang->line('statistics')['new_users']) // // ->mergeCells('N3:P3') // ->setCellValue('N3', 'Unique pageviews') // ->setCellValue('P4', $this->lang->line('statistics')['connected_users']) // ->setCellValue('O4', $this->lang->line('statistics')['known_users']) // ->setCellValue('N4', $this->lang->line('statistics')['new_users']) // // ->mergeCells('Q3:S3') // ->setCellValue('Q3', 'Event views') // ->setCellValue('S4', $this->lang->line('statistics')['connected_users']) // ->setCellValue('R4', $this->lang->line('statistics')['known_users']) // ->setCellValue('Q4', $this->lang->line('statistics')['new_users']) // // ->mergeCells('T3:V3') // ->setCellValue('T3', 'Bounce Rate') // ->setCellValue('V4', $this->lang->line('statistics')['connected_users']) // ->setCellValue('U4', $this->lang->line('statistics')['known_users']) // ->setCellValue('T4', $this->lang->line('statistics')['new_users']) // // // // set style // ->getStyle('A2:V4')->applyFromArray([ // 'font' => [ // 'bold' => true // ], // 'alignment' => array( // 'horizontal' => Alignment::HORIZONTAL_CENTER, // ) // ]); // /* // * end first sheet headers // */ // /* // * end fourth sheet headers // */ // // /* // * second sheet // * headers for the graph data // */ // $objWorksheet = $this->spreadsheet->createSheet(5); // $objWorksheet->setTitle('F-General (Web & Device type)'); // // $objWorksheet->getRowDimension(1)->setRowHeight(-1); // foreach(range('A','V') as $columnID) { // $objWorksheet->getColumnDimension($columnID)->setAutoSize(true); // } // // merge and set cell values // $objWorksheet->freezePane('A4') // ->mergeCells('A2:B2') // ->setCellValue('A2', 'Navigateurs Web') // ->setCellValue('A3', 'Browser Type') // ->setCellValue('B3', 'Nbre') // // ->setCellValue('C3', 'Year') // // ->mergeCells('E2:F2') // ->setCellValue('E2', 'Type de device') // ->setCellValue('E3', 'Device type') // ->setCellValue('F3', 'Nbre') // // ->setCellValue('G3', 'Year') // // ->mergeCells('I2:J2') // ->setCellValue('I2', 'Liens Cliques') // ->setCellValue('I3', 'Url Link') // ->setCellValue('J3', 'Clicks') // // ->setCellValue('K3', 'Year') // // ->mergeCells('M2:N2') // ->setCellValue('M2', 'Formulaires envoyés') // ->setCellValue('M3', 'Category') // ->setCellValue('N3', 'Clicks') // // ->setCellValue('O3', 'Year') // ; // // // set style // $objWorksheet->getStyle('A2:V3')->applyFromArray([ // 'font' => [ // 'bold' => true // ], // 'alignment' => array( // 'horizontal' => Alignment::HORIZONTAL_CENTER, // ) // ])->getAlignment()->setWrapText(true); // /* // * end second sheet headers // */ // // /* // * third sheet // * headers for the graph data // */ // $objWorksheet = $this->spreadsheet->createSheet(6); // $objWorksheet->setTitle('F-Abonnes'); // // $objWorksheet->getRowDimension(2)->setRowHeight(60); // foreach(range('A','V') as $columnID) { // $objWorksheet->getColumnDimension($columnID)->setAutoSize(true); // } // // merge and set cell values // $objWorksheet->freezePane('A4') // ->mergeCells('A2:B2') // ->setCellValue('A2', "Nombre d'inscriptions (Nouveau qui a confirmé son formulaire de première inscription)") // ->setCellValue('A3', 'Nbre') // // ->setCellValue('B3', 'Date') // // ->mergeCells('E2:F2') // ->setCellValue('E2', "Nombre d'événements par statuts (prochainement, en cours, complets, terminés, passés, archivés) total + /année") // ->setCellValue('E3', 'Status') // ->setCellValue('F3', 'Nbre') // // ->setCellValue('G3', 'Year') // // ->mergeCells('I2:J2') // ->setCellValue('I2', "Nombre de réservations effectuées (par abonnés)") // ->setCellValue('I3', 'Nbre') // // ->setCellValue('J3', 'Year') // // ->mergeCells('L2:M2') // ->setCellValue('L2', "Nombre de places réservées") // ->setCellValue('L3', 'Nbre') // // ->setCellValue('M3', 'Year') // // ->mergeCells('O2:P2') // ->setCellValue('O2', "Nombre d'annulations effectuées (annulation totale de réservation)") // ->setCellValue('O3', 'Nbre') // // ->setCellValue('P3', 'Year') // ; // // // set style // $objWorksheet->getStyle('A2:V2')->applyFromArray([ // 'font' => [ // 'bold' => true // ], // 'alignment' => array( // 'horizontal' => Alignment::HORIZONTAL_CENTER, // ) // ])->getAlignment()->setWrapText(true); // // $objWorksheet->getStyle('A2:A2')->applyFromArray([ // 'font' => [ // 'bold' => true // ], // 'alignment' => array( // 'horizontal' => Alignment::HORIZONTAL_CENTER, // ) // ])->getAlignment()->setWrapText(true); // $objWorksheet->getStyle('E2:F2')->applyFromArray([ // 'font' => [ // 'bold' => true // ], // 'alignment' => array( // 'horizontal' => Alignment::HORIZONTAL_CENTER, // ) // ])->getAlignment()->setWrapText(true); // $objWorksheet->getStyle('I2:I2')->applyFromArray([ // 'font' => [ // 'bold' => true // ], // 'alignment' => array( // 'horizontal' => Alignment::HORIZONTAL_CENTER, // ) // ])->getAlignment()->setWrapText(true); // $objWorksheet->getStyle('L2:L2')->applyFromArray([ // 'font' => [ // 'bold' => true // ], // 'alignment' => array( // 'horizontal' => Alignment::HORIZONTAL_CENTER, // ) // ])->getAlignment()->setWrapText(true); // $objWorksheet->getStyle('O2:O2')->applyFromArray([ // 'font' => [ // 'bold' => true // ], // 'alignment' => array( // 'horizontal' => Alignment::HORIZONTAL_CENTER, // ) // ])->getAlignment()->setWrapText(true); // /* // * end third sheet headers // */ // // /* // * fourth sheet // * headers for the graph data // */ // $objWorksheet = $this->spreadsheet->createSheet(7); // $objWorksheet->setTitle('F-Recherches'); // // $objWorksheet->getRowDimension(1)->setRowHeight(-1); // foreach(range('A','U') as $columnID) { // $objWorksheet->getColumnDimension($columnID)->setAutoSize(true); // } // // merge and set cell values // $objWorksheet->freezePane('A5') // ->mergeCells('A2:K2') // ->setCellValue('A2', "Recherches Internes") // // ->mergeCells('A3:B3') // ->setCellValue('A3', 'By event type') // ->setCellValue('A4', 'Event type') // ->setCellValue('B4', 'Nbre') // // ->setCellValue('C4', 'Year') // // ->mergeCells('E3:F3') // ->setCellValue('E3', 'By month') // ->setCellValue('E4', 'Month') // ->setCellValue('F4', 'Nbre') // // ->setCellValue('G4', 'Year') // // ->mergeCells('I3:J3') // ->setCellValue('I3', 'By location') // ->setCellValue('I4', 'Location') // ->setCellValue('J4', 'Nbre') // // ->setCellValue('K4', 'Year') // ; // // $objWorksheet->mergeCells('M2:N2') // ->setCellValue('M2', "Recherches Externes") // ->mergeCells('M3:N3') // ->setCellValue('M3', 'Syntaxe de recherche') // ->setCellValue('M4', 'Expressions') // ->setCellValue('N4', 'Nbre') // // ->setCellValue('O4', 'Year') // // ->mergeCells('Q3:T3') // ->setCellValue('Q3', "Provenance") // ->setCellValue('Q4', 'Source') // ->setCellValue('R4', 'Source Medium') // ->setCellValue('S4', 'Channel') // ->setCellValue('T4', 'Nbre') // // ->setCellValue('U4', 'Year') // ; // // // set style // $objWorksheet->getStyle('A2:U4')->applyFromArray([ // 'font' => [ // 'bold' => true // ], // 'alignment' => array( // 'horizontal' => Alignment::HORIZONTAL_CENTER, // ) // ])->getAlignment()->setWrapText(true); // /* // * end fourth sheet headers // */ // } /** * get data for export = all dashboard data * * @param int $event_schedule_id * @return array * access public */ private function getExportData($sheet, $start ="start_date", $end = "end_date") { switch ($sheet) { case 0: // First sheet graph data $visitors = $this->dashboard_statistics_model->get_ga_data('visitors', 'vis', '1_2_3', $start, $end, 'DESC'); $sessions_unique = $this->dashboard_statistics_model->get_ga_data('sessions', 'sess', '1_2_3', $start, $end, 'DESC'); $sessions_duration = $this->dashboard_statistics_model->get_ga_data('session_duration', 'sess', '1_2_3', $start, $end, 'DESC'); $pageviews = $this->dashboard_statistics_model->get_ga_data('pageviews', 'pv', '1_2_3', $start, $end, 'DESC'); $unique_pageviews = $this->dashboard_statistics_model->get_ga_data('unique_pageviews', 'pv', '1_2_3', $start, $end, 'DESC'); $event_views = $this->dashboard_statistics_model->get_ga_data('event_views', 'ev', '1_2_3', $start, $end, 'DESC'); $bounceRate = $this->dashboard_statistics_model->get_ga_data('bounceRate', 'bcr', '1_2_3', $start, $end, 'DESC'); $data = array( 'visitors_graph_data' => $visitors, 'sessions_graph_data' => $sessions_unique, 'session_duration_graph_data' => $sessions_duration, 'pageviews' => $pageviews, 'unique_pageviews' => $unique_pageviews, 'event_views' => $event_views, 'bounceRate' => $bounceRate, ); break; case 1: $yearly_browsers = $this->dashboard_statistics_model->get_dashboard_table_data('yearly_browsers', $start, $end); $yearly_devices = $this->dashboard_statistics_model->get_dashboard_table_data('yearly_devices', $start, $end); $yearly_url_clicks = $this->dashboard_statistics_model->get_dashboard_table_data('yearly_url_clicks', $start, $end); $yearly_contact_cat = $this->dashboard_statistics_model->get_dashboard_table_data('yearly_contact_cat', $start, $end); $data = array( 'yearly_browsers' => $yearly_browsers, 'yearly_devices' => $yearly_devices, 'yearly_url_clicks' => $yearly_url_clicks, 'yearly_contact_cat' => $yearly_contact_cat, ); break; case 4: $filtered_browsers = $this->dashboard_statistics_model->get_dashboard_table_data('filtered_browsers', $start, $end); $filtered_devices = $this->dashboard_statistics_model->get_dashboard_table_data('filtered_devices', $start, $end); $filtered_url_clicks = $this->dashboard_statistics_model->get_dashboard_table_data('filtered_url_clicks', $start, $end); $filtered_contact_cat = $this->dashboard_statistics_model->get_dashboard_table_data('filtered_contact_cat', $start, $end); $data = array( 'yearly_browsers' => $filtered_browsers, 'yearly_devices' => $filtered_devices, 'yearly_url_clicks' => $filtered_url_clicks, 'yearly_contact_cat' => $filtered_contact_cat, ); break; case 2: // Nombre d'inscriptions (Nouveau qui a confirmé son formulaire de première inscription) $y0 = $this->dashboard_statistics_model->get_dashboard_table_data('y0', $start, $end); $yearly_fevents = $this->dashboard_statistics_model->get_dashboard_table_data('yearly_fevents', $start, $end); $y2 = $this->dashboard_statistics_model->get_dashboard_table_data('y2', $start, $end); $y3 = $this->dashboard_statistics_model->get_dashboard_table_data('y3', $start, $end); $y4 = $this->dashboard_statistics_model->get_dashboard_table_data('y4', $start, $end); $data = array( 'y0' => $y0, 'yearly_fevents' => $yearly_fevents, 'y2' => $y2, 'y3' => $y3, 'y4' => $y4, ); break; case 5: // Nombre d'inscriptions (Nouveau qui a confirmé son formulaire de première inscription) $f_y0 = $this->dashboard_statistics_model->get_dashboard_table_data('f_y0', $start, $end); $f_fevents = $this->dashboard_statistics_model->get_dashboard_table_data('f_fevents', $start, $end); $f_y2 = $this->dashboard_statistics_model->get_dashboard_table_data('f_y2', $start, $end); $f_y3 = $this->dashboard_statistics_model->get_dashboard_table_data('f_y3', $start, $end); $f_y4 = $this->dashboard_statistics_model->get_dashboard_table_data('f_y4', $start, $end); $data = array( 'y0' => $f_y0, 'yearly_fevents' => $f_fevents, 'y2' => $f_y2, 'y3' => $f_y3, 'y4' => $f_y4, ); break; case 3: $yearly_s_evtype = $this->dashboard_statistics_model->get_dashboard_table_data('yearly_s_evtype', $start, $end); $yearly_s_month = $this->dashboard_statistics_model->get_dashboard_table_data('yearly_s_month', $start, $end); $yearly_s_city = $this->dashboard_statistics_model->get_dashboard_table_data('yearly_s_city', $start, $end); $yearly_faq_search = $this->dashboard_statistics_model->get_dashboard_table_data('yearly_faq_search', $start, $end); $yearly_source_mediums = $this->dashboard_statistics_model->get_dashboard_table_data('yearly_source_mediums', $start, $end); $data = array( 'yearly_s_evtype' => $yearly_s_evtype, 'yearly_s_month' => $yearly_s_month, 'yearly_s_city' => $yearly_s_city, 'yearly_faq_search' => $yearly_faq_search, 'yearly_source_mediums' => $yearly_source_mediums, ); break; case 6: $f_s_evtype = $this->dashboard_statistics_model->get_dashboard_table_data('f_s_evtype', $start, $end); $f_s_month = $this->dashboard_statistics_model->get_dashboard_table_data('f_s_month', $start, $end); $f_s_city = $this->dashboard_statistics_model->get_dashboard_table_data('f_s_city', $start, $end); $f_faq_search = $this->dashboard_statistics_model->get_dashboard_table_data('f_faq_search', $start, $end); $f_source_mediums = $this->dashboard_statistics_model->get_dashboard_table_data('f_source_mediums', $start, $end); $data = array( 'yearly_s_evtype' => $f_s_evtype, 'yearly_s_month' => $f_s_month, 'yearly_s_city' => $f_s_city, 'yearly_faq_search' => $f_faq_search, 'yearly_source_mediums' => $f_source_mediums, ); break; default: $data = array(); // code... break; } return $data; } /** * Main no show excel data values * * @param array $options * @return void * access private member */ private function reportData($start = "", $end = "") { /*FILTERED DATA*/ /* * first sheet data */ $start_date_string = date('d/m/Y', strtotime($start)); $end_date_string = date('d/m/Y', strtotime($end)); $datasets = $this->getExportData(0, $start, $end); $active_sheet = $this->spreadsheet->setActiveSheetIndex(0); $date_indexes = array(); // set interval $active_sheet->mergeCells('A1:V1') ->setCellValue('A1', "Du {$start_date_string} au {$end_date_string}"); // start from fourth row in first sheet $previous_date = ''; foreach ($datasets as $data_category => $category_value) { $cell_row_index = 5; $row_passed = 0; switch ($data_category) { case 'visitors_graph_data': $user_cell = array( 'Nouveaux'=> 'B', 'Connus'=> 'C', 'Connectés' =>'D' ); // echo var_dump($category_value[0]['vis_rdate']); if ($category_value) { foreach ($category_value as $index => $value) { $date_indexes[$value['vis_rdate']] = $cell_row_index; // array_push($unique_dates['A'.$cell_row_index], $value['vis_rdate']); $active_sheet->setCellValue('A'.($cell_row_index), $value['vis_rdate']); $active_sheet->setCellValue($user_cell[$value['user_type']].($cell_row_index), $value['vis_rdata']); // $previous_date = $value['vis_rdate']; $row_passed++; if ($row_passed == 3) { $cell_row_index++; $row_passed = 0; } // if ($value['vis_rdate'] == $previous_date) { // } else { // $active_sheet->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // $active_sheet->setCellValue($user_cell[$value['vis_rdate']].($cell_row_index), $value['vis_rdate']); // } } } break; case 'sessions_graph_data': $user_cell = array( 'Nouveaux'=> 'E', 'Connus'=> 'F', 'Connectés' =>'G' ); // echo var_dump($category_value[0]['sess_rdate']); if ($category_value) { foreach ($category_value as $index => $value) { // array_push($unique_dates['A'.$cell_row_index], $value['sess_rdate']); $active_sheet->setCellValue('A'.($cell_row_index), $value['sess_rdate']); $active_sheet->setCellValue($user_cell[$value['user_type']].($cell_row_index), $value['sess_rdata']); // $previous_date = $value['sess_rdate']; $row_passed++; if ($row_passed == 3) { $cell_row_index++; $row_passed = 0; } // if ($value['vis_rdate'] == $previous_date) { // } else { // $active_sheet->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // $active_sheet->setCellValue($user_cell[$value['vis_rdate']].($cell_row_index), $value['vis_rdate']); // } } } break; case 'session_duration_graph_data': $user_cell = array( 'Nouveaux'=> 'H', 'Connus'=> 'I', 'Connectés' =>'J' ); // echo var_dump($category_value[0]['sess_rdate']); if ($category_value) { foreach ($category_value as $index => $value) { // array_push($unique_dates['A'.$cell_row_index], $value['sess_rdate']); $active_sheet->setCellValue('A'.($cell_row_index), $value['sess_rdate']); $active_sheet->setCellValue($user_cell[$value['user_type']].($cell_row_index), $value['sess_rdata']); // $previous_date = $value['sess_rdate']; $row_passed++; if ($row_passed == 3) { $cell_row_index++; $row_passed = 0; } // if ($value['vis_rdate'] == $previous_date) { // } else { // $active_sheet->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // $active_sheet->setCellValue($user_cell[$value['vis_rdate']].($cell_row_index), $value['vis_rdate']); // } } } break; case 'pageviews': $user_cell = array( 'Nouveaux'=> 'K', 'Connus'=> 'L', 'Connectés' =>'M' ); // echo var_dump($category_value[0]['pv_rdate']); if ($category_value) { foreach ($category_value as $index => $value) { // array_push($unique_dates['A'.$cell_row_index], $value['pv_rdate']); $active_sheet->setCellValue('A'.($cell_row_index), $value['pv_rdate']); $active_sheet->setCellValue($user_cell[$value['user_type']].($cell_row_index), $value['pv_rdata']); // $previous_date = $value['sess_rdate']; $row_passed++; if ($row_passed == 3) { $cell_row_index++; $row_passed = 0; } // if ($value['vis_rdate'] == $previous_date) { // } else { // $active_sheet->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // $active_sheet->setCellValue($user_cell[$value['vis_rdate']].($cell_row_index), $value['vis_rdate']); // } } } break; case 'unique_pageviews': $user_cell = array( 'Nouveaux'=> 'N', 'Connus'=> 'O', 'Connectés' =>'P' ); // echo var_dump($category_value[0]['pv_rdate']); if ($category_value) { foreach ($category_value as $index => $value) { // array_push($unique_dates['A'.$cell_row_index], $value['pv_rdate']); $active_sheet->setCellValue('A'.($cell_row_index), $value['pv_rdate']); $active_sheet->setCellValue($user_cell[$value['user_type']].($cell_row_index), $value['pv_rdata']); // $previous_date = $value['sess_rdate']; $row_passed++; if ($row_passed == 3) { $cell_row_index++; $row_passed = 0; } // if ($value['vis_rdate'] == $previous_date) { // } else { // $active_sheet->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // $active_sheet->setCellValue($user_cell[$value['vis_rdate']].($cell_row_index), $value['vis_rdate']); // } } } break; case 'event_views': $user_cell = array( 'Nouveaux'=> 'Q', 'Connus'=> 'R', 'Connectés' =>'S' ); // echo var_dump($category_value[0]['ev_rdate']); if ($category_value) { foreach ($category_value as $index => $value) { // array_push($unique_dates['A'.$cell_row_index], $value['ev_rdate']); // $active_sheet->setCellValue('A'.($date_indexes[$value['ev_rdate']]), $value['ev_rdate']); $active_sheet->setCellValue($user_cell[$value['user_type']].($date_indexes[$value['ev_rdate']]), $value['ev_rdata']); // $previous_date = $value['sess_rdate']; $row_passed++; if ($row_passed == 3) { $cell_row_index++; $row_passed = 0; } // if ($value['vis_rdate'] == $previous_date) { // } else { // $active_sheet->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // $active_sheet->setCellValue($user_cell[$value['vis_rdate']].($cell_row_index), $value['vis_rdate']); // } } } break; case 'bounceRate': $user_cell = array( 'Nouveaux'=> 'T', 'Connus'=> 'U', 'Connectés' =>'V' ); // echo var_dump($category_value[0]['bcr_rdate']); if ($category_value) { foreach ($category_value as $index => $value) { // array_push($unique_dates['A'.$cell_row_index], $value['bcr_rdate']); $active_sheet->setCellValue('A'.($cell_row_index), $value['bcr_rdate']); $active_sheet->setCellValue($user_cell[$value['user_type']].($cell_row_index), $value['bcr_rdata']); // $previous_date = $value['sess_rdate']; $row_passed++; if ($row_passed == 3) { $cell_row_index++; $row_passed = 0; } // if ($value['vis_rdate'] == $previous_date) { // } else { // $active_sheet->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // $active_sheet->setCellValue($user_cell[$value['vis_rdate']].($cell_row_index), $value['vis_rdate']); // } } } break; default: // code... break; } // echo $key; // echo var_dump($value); } /* * second sheet data */ $datasets = $this->getExportData(4, $start, $end); $active_sheet = $this->spreadsheet->setActiveSheetIndex(1); $date_indexes = array(); // set interval $active_sheet->mergeCells('A1:V1') ->setCellValue('A1', "Du {$start_date_string} au {$end_date_string}"); $previous_date = ''; foreach ($datasets as $data_category => $category_value) { $cell_row_index = 4; $row_passed = 0; switch ($data_category) { case 'yearly_browsers': // echo var_dump($category_value[0]['vis_rdate']); foreach ($category_value as $index => $value) { $date_indexes[$value['year']] = $cell_row_index; $active_sheet->setCellValue('A'.($cell_row_index), $value['rtype']); $active_sheet->setCellValue('B'.($cell_row_index), $value['vis_rdata']); // $active_sheet->setCellValue('C'.($cell_row_index), $value['year']); $cell_row_index++; } break; case 'yearly_devices': // echo var_dump($category_value[0]['vis_rdate']); foreach ($category_value as $index => $value) { $date_indexes[$value['year']] = $cell_row_index; $active_sheet->setCellValue('E'.($cell_row_index), $value['rtype']); $active_sheet->setCellValue('F'.($cell_row_index), $value['vis_rdata']); // $active_sheet->setCellValue('G'.($cell_row_index), $value['year']); $cell_row_index++; } break; case 'yearly_url_clicks': // echo var_dump($category_value[0]['vis_rdate']); foreach ($category_value as $index => $value) { $date_indexes[$value['year']] = $cell_row_index; $active_sheet->setCellValue('I'.($cell_row_index), $value['gev_raction']); $active_sheet->setCellValue('J'.($cell_row_index), $value['gev_rdata']); // $active_sheet->setCellValue('K'.($cell_row_index), $value['year']); $cell_row_index++; } break; case 'yearly_contact_cat': // echo var_dump($category_value[0]['vis_rdate']); foreach ($category_value as $index => $value) { $date_indexes[$value['year']] = $cell_row_index; $active_sheet->setCellValue('M'.($cell_row_index), $value['c_category']); $active_sheet->setCellValue('N'.($cell_row_index), $value['clicks']); // $active_sheet->setCellValue('O'.($cell_row_index), $value['year']); $cell_row_index++; } break; default: // code... break; } } /* * third sheet data */ $datasets = $this->getExportData(5, $start, $end); $active_sheet = $this->spreadsheet->setActiveSheetIndex(2); $date_indexes = array(); // set interval $active_sheet->mergeCells('A1:V1') ->setCellValue('A1', "Du {$start_date_string} au {$end_date_string}"); $previous_date = ''; if ($category_value) { foreach ($datasets as $data_category => $category_value) { $cell_row_index = 4; $row_passed = 0; switch ($data_category) { case 'y0': // echo var_dump($category_value[0]['vis_rdate']); foreach ($category_value as $index => $value) { // $active_sheet->setCellValue('A'.($cell_row_index), $value['value']); $active_sheet->setCellValue('B3', $value['value']); // $active_sheet->setCellValue('B'.($cell_row_index), $value['data_year']); $cell_row_index++; } break; case 'yearly_fevents': foreach ($category_value as $index => $value) { if (!empty($value['bostat'])) { $active_sheet->setCellValue('E'.($cell_row_index), $value['bostat']); $active_sheet->setCellValue('F'.($cell_row_index), $value['value']); // $active_sheet->setCellValue('G'.($cell_row_index), $value['data_year']); $cell_row_index++; } } break; case 'y2': foreach ($category_value as $index => $value) { // $active_sheet->setCellValue('I'.($cell_row_index), $value['value']); $active_sheet->setCellValue('J3', (empty($value['value'])? 0 : $value['value'])); // $active_sheet->setCellValue('J'.($cell_row_index), $value['data_year']); $cell_row_index++; } break; case 'y3': foreach ($category_value as $index => $value) { $active_sheet->setCellValue('M3', (empty($value['value'])? 0 : $value['value'])); // $active_sheet->setCellValue('L'.($cell_row_index), $value['value']); // $active_sheet->setCellValue('M'.($cell_row_index), $value['data_year']); $cell_row_index++; } break; case 'y4': foreach ($category_value as $index => $value) { $active_sheet->setCellValue('P3', (empty($value['value'])? 0 : $value['value'])); // $active_sheet->setCellValue('O'.($cell_row_index), $value['value']); // $active_sheet->setCellValue('P'.($cell_row_index), $value['data_year']); $cell_row_index++; } break; default: // code... break; } } } /* * fourth sheet data */ $datasets = $this->getExportData(6, $start, $end); $active_sheet = $this->spreadsheet->setActiveSheetIndex(3); $date_indexes = array(); // set interval $active_sheet->mergeCells('A1:V1') ->setCellValue('A1', "Du {$start_date_string} au {$end_date_string}"); $previous_date = ''; if ($category_value) { foreach ($datasets as $data_category => $category_value) { $cell_row_index = 5; $row_passed = 0; switch ($data_category) { case 'yearly_s_evtype': foreach ($category_value as $index => $value) { if (!empty($value['label'])) { $active_sheet->setCellValue('A'.($cell_row_index), $value['label']); $active_sheet->setCellValue('B'.($cell_row_index), $value['gev_rdata']); // $active_sheet->setCellValue('C'.($cell_row_index), $value['year']); $cell_row_index++; } } break; case 'yearly_s_month': $months = array('Tous les mois', 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'); foreach ($category_value as $index => $value) { if (!empty($value['gev_raction']) && $value['gev_raction'] <= 12) { $active_sheet->setCellValue('E'.($cell_row_index), $months[$value['gev_raction']]); $active_sheet->setCellValue('F'.($cell_row_index), $value['gev_rdata']); // $active_sheet->setCellValue('G'.($cell_row_index), $value['year']); $cell_row_index++; } } break; case 'yearly_s_city': foreach ($category_value as $index => $value) { if (!empty($value['label'])) { $active_sheet->setCellValue('I'.($cell_row_index), $value['label']); $active_sheet->setCellValue('J'.($cell_row_index), $value['gev_rdata']); // $active_sheet->setCellValue('K'.($cell_row_index), $value['year']); $cell_row_index++; } } break; case 'yearly_faq_search': foreach ($category_value as $index => $value) { $active_sheet->setCellValue('M'.($cell_row_index), $value['gev_raction']); $active_sheet->setCellValue('N'.($cell_row_index), $value['gev_rdata']); // $active_sheet->setCellValue('O'.($cell_row_index), $value['year']); $cell_row_index++; } break; case 'yearly_source_mediums': foreach ($category_value as $index => $value) { $active_sheet->setCellValue('Q'.($cell_row_index), $value['gsm_rsource']); // $active_sheet->setCellValue('R'.($cell_row_index), $value['gsm_rsourcem']); $active_sheet->setCellValue('R'.($cell_row_index), $value['gsm_rchannelgroup']); $active_sheet->setCellValue('S'.($cell_row_index), $value['gsm_rdata']); // $active_sheet->setCellValue('U'.($cell_row_index), $value['year']); $cell_row_index++; } break; default: // code... break; } } } } /*ALL REPORT DATA*/ // private function reportData($start = "", $end = "") // { // /* // * first sheet data // */ // $datasets = $this->getExportData(0); // $this->spreadsheet->setActiveSheetIndex(0); // $date_indexes = array(); // // // start from fourth row in first sheet // $previous_date = ''; // foreach ($datasets as $data_category => $category_value) { // $cell_row_index = 4; // $row_passed = 0; // switch ($data_category) { // case 'visitors_graph_data': // $user_cell = array( // 'Nouveaux'=> 'B', // 'Connus'=> 'C', // 'Connectés' =>'D' // ); // // echo var_dump($category_value[0]['vis_rdate']); // foreach ($category_value as $index => $value) { // $date_indexes[$value['vis_rdate']] = $cell_row_index; // // array_push($unique_dates['A'.$cell_row_index], $value['vis_rdate']); // $this->sheets->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // $this->sheets->setCellValue($user_cell[$value['user_type']].($cell_row_index), $value['vis_rdata']); // // $previous_date = $value['vis_rdate']; // // $row_passed++; // if ($row_passed == 3) { // $cell_row_index++; // $row_passed = 0; // } // // if ($value['vis_rdate'] == $previous_date) { // // } else { // // $this->sheets->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // // $this->sheets->setCellValue($user_cell[$value['vis_rdate']].($cell_row_index), $value['vis_rdate']); // // } // } // break; // case 'sessions_graph_data': // $user_cell = array( // 'Nouveaux'=> 'E', // 'Connus'=> 'F', // 'Connectés' =>'G' // ); // // echo var_dump($category_value[0]['sess_rdate']); // foreach ($category_value as $index => $value) { // // array_push($unique_dates['A'.$cell_row_index], $value['sess_rdate']); // $this->sheets->setCellValue('A'.($cell_row_index), $value['sess_rdate']); // $this->sheets->setCellValue($user_cell[$value['user_type']].($cell_row_index), $value['sess_rdata']); // // $previous_date = $value['sess_rdate']; // // $row_passed++; // if ($row_passed == 3) { // $cell_row_index++; // $row_passed = 0; // } // // if ($value['vis_rdate'] == $previous_date) { // // } else { // // $this->sheets->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // // $this->sheets->setCellValue($user_cell[$value['vis_rdate']].($cell_row_index), $value['vis_rdate']); // // } // } // break; // case 'session_duration_graph_data': // $user_cell = array( // 'Nouveaux'=> 'H', // 'Connus'=> 'I', // 'Connectés' =>'J' // ); // // echo var_dump($category_value[0]['sess_rdate']); // foreach ($category_value as $index => $value) { // // array_push($unique_dates['A'.$cell_row_index], $value['sess_rdate']); // $this->sheets->setCellValue('A'.($cell_row_index), $value['sess_rdate']); // $this->sheets->setCellValue($user_cell[$value['user_type']].($cell_row_index), $value['sess_rdata']); // // $previous_date = $value['sess_rdate']; // // $row_passed++; // if ($row_passed == 3) { // $cell_row_index++; // $row_passed = 0; // } // // if ($value['vis_rdate'] == $previous_date) { // // } else { // // $this->sheets->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // // $this->sheets->setCellValue($user_cell[$value['vis_rdate']].($cell_row_index), $value['vis_rdate']); // // } // } // break; // case 'pageviews': // $user_cell = array( // 'Nouveaux'=> 'K', // 'Connus'=> 'L', // 'Connectés' =>'M' // ); // // echo var_dump($category_value[0]['pv_rdate']); // foreach ($category_value as $index => $value) { // // array_push($unique_dates['A'.$cell_row_index], $value['pv_rdate']); // $this->sheets->setCellValue('A'.($cell_row_index), $value['pv_rdate']); // $this->sheets->setCellValue($user_cell[$value['user_type']].($cell_row_index), $value['pv_rdata']); // // $previous_date = $value['sess_rdate']; // // $row_passed++; // if ($row_passed == 3) { // $cell_row_index++; // $row_passed = 0; // } // // if ($value['vis_rdate'] == $previous_date) { // // } else { // // $this->sheets->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // // $this->sheets->setCellValue($user_cell[$value['vis_rdate']].($cell_row_index), $value['vis_rdate']); // // } // } // break; // case 'unique_pageviews': // $user_cell = array( // 'Nouveaux'=> 'N', // 'Connus'=> 'O', // 'Connectés' =>'P' // ); // // echo var_dump($category_value[0]['pv_rdate']); // foreach ($category_value as $index => $value) { // // array_push($unique_dates['A'.$cell_row_index], $value['pv_rdate']); // $this->sheets->setCellValue('A'.($cell_row_index), $value['pv_rdate']); // $this->sheets->setCellValue($user_cell[$value['user_type']].($cell_row_index), $value['pv_rdata']); // // $previous_date = $value['sess_rdate']; // // $row_passed++; // if ($row_passed == 3) { // $cell_row_index++; // $row_passed = 0; // } // // if ($value['vis_rdate'] == $previous_date) { // // } else { // // $this->sheets->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // // $this->sheets->setCellValue($user_cell[$value['vis_rdate']].($cell_row_index), $value['vis_rdate']); // // } // } // break; // case 'event_views': // $user_cell = array( // 'Nouveaux'=> 'Q', // 'Connus'=> 'R', // 'Connectés' =>'S' // ); // // echo var_dump($category_value[0]['ev_rdate']); // foreach ($category_value as $index => $value) { // // array_push($unique_dates['A'.$cell_row_index], $value['ev_rdate']); // // $this->sheets->setCellValue('A'.($date_indexes[$value['ev_rdate']]), $value['ev_rdate']); // $this->sheets->setCellValue($user_cell[$value['user_type']].($date_indexes[$value['ev_rdate']]), $value['ev_rdata']); // // $previous_date = $value['sess_rdate']; // // $row_passed++; // if ($row_passed == 3) { // $cell_row_index++; // $row_passed = 0; // } // // if ($value['vis_rdate'] == $previous_date) { // // } else { // // $this->sheets->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // // $this->sheets->setCellValue($user_cell[$value['vis_rdate']].($cell_row_index), $value['vis_rdate']); // // } // } // break; // case 'bounceRate': // $user_cell = array( // 'Nouveaux'=> 'T', // 'Connus'=> 'U', // 'Connectés' =>'V' // ); // // echo var_dump($category_value[0]['bcr_rdate']); // foreach ($category_value as $index => $value) { // // array_push($unique_dates['A'.$cell_row_index], $value['bcr_rdate']); // $this->sheets->setCellValue('A'.($cell_row_index), $value['bcr_rdate']); // $this->sheets->setCellValue($user_cell[$value['user_type']].($cell_row_index), $value['bcr_rdata']); // // $previous_date = $value['sess_rdate']; // // $row_passed++; // if ($row_passed == 3) { // $cell_row_index++; // $row_passed = 0; // } // // if ($value['vis_rdate'] == $previous_date) { // // } else { // // $this->sheets->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // // $this->sheets->setCellValue($user_cell[$value['vis_rdate']].($cell_row_index), $value['vis_rdate']); // // } // } // break; // // default: // // code... // break; // } // // echo $key; // // echo var_dump($value); // } // // /* // * second sheet data // */ // $datasets = $this->getExportData(1); // $active_sheet = $this->spreadsheet->setActiveSheetIndex(1); // $date_indexes = array(); // // $previous_date = ''; // foreach ($datasets as $data_category => $category_value) { // $cell_row_index = 3; // $row_passed = 0; // switch ($data_category) { // case 'yearly_browsers': // // echo var_dump($category_value[0]['vis_rdate']); // foreach ($category_value as $index => $value) { // $date_indexes[$value['year']] = $cell_row_index; // $active_sheet->setCellValue('A'.($cell_row_index), $value['rtype']); // $active_sheet->setCellValue('B'.($cell_row_index), $value['vis_rdata']); // $active_sheet->setCellValue('C'.($cell_row_index), $value['year']); // $cell_row_index++; // } // break; // case 'yearly_devices': // // echo var_dump($category_value[0]['vis_rdate']); // foreach ($category_value as $index => $value) { // $date_indexes[$value['year']] = $cell_row_index; // $active_sheet->setCellValue('E'.($cell_row_index), $value['rtype']); // $active_sheet->setCellValue('F'.($cell_row_index), $value['vis_rdata']); // $active_sheet->setCellValue('G'.($cell_row_index), $value['year']); // $cell_row_index++; // } // break; // case 'yearly_url_clicks': // // echo var_dump($category_value[0]['vis_rdate']); // foreach ($category_value as $index => $value) { // $date_indexes[$value['year']] = $cell_row_index; // $active_sheet->setCellValue('I'.($cell_row_index), $value['gev_raction']); // $active_sheet->setCellValue('J'.($cell_row_index), $value['gev_rdata']); // $active_sheet->setCellValue('K'.($cell_row_index), $value['year']); // $cell_row_index++; // } // break; // case 'yearly_contact_cat': // // echo var_dump($category_value[0]['vis_rdate']); // foreach ($category_value as $index => $value) { // $date_indexes[$value['year']] = $cell_row_index; // $active_sheet->setCellValue('M'.($cell_row_index), $value['c_category']); // $active_sheet->setCellValue('N'.($cell_row_index), $value['clicks']); // $active_sheet->setCellValue('O'.($cell_row_index), $value['year']); // $cell_row_index++; // } // break; // // default: // // code... // break; // } // } // // /* // * third sheet data // */ // $datasets = $this->getExportData(2); // $active_sheet = $this->spreadsheet->setActiveSheetIndex(2); // $date_indexes = array(); // // $previous_date = ''; // foreach ($datasets as $data_category => $category_value) { // $cell_row_index = 3; // $row_passed = 0; // switch ($data_category) { // case 'y0': // // echo var_dump($category_value[0]['vis_rdate']); // foreach ($category_value as $index => $value) { // $active_sheet->setCellValue('A'.($cell_row_index), $value['value']); // $active_sheet->setCellValue('B'.($cell_row_index), $value['data_year']); // $cell_row_index++; // } // break; // case 'yearly_fevents': // foreach ($category_value as $index => $value) { // if (!empty($value['bostat'])) { // $active_sheet->setCellValue('E'.($cell_row_index), $value['bostat']); // $active_sheet->setCellValue('F'.($cell_row_index), $value['value']); // $active_sheet->setCellValue('G'.($cell_row_index), $value['data_year']); // $cell_row_index++; // } // } // break; // case 'y2': // foreach ($category_value as $index => $value) { // $active_sheet->setCellValue('I'.($cell_row_index), $value['value']); // $active_sheet->setCellValue('J'.($cell_row_index), $value['data_year']); // $cell_row_index++; // } // break; // case 'y3': // foreach ($category_value as $index => $value) { // $active_sheet->setCellValue('L'.($cell_row_index), $value['value']); // $active_sheet->setCellValue('M'.($cell_row_index), $value['data_year']); // $cell_row_index++; // } // break; // case 'y4': // foreach ($category_value as $index => $value) { // $active_sheet->setCellValue('O'.($cell_row_index), $value['value']); // $active_sheet->setCellValue('P'.($cell_row_index), $value['data_year']); // $cell_row_index++; // } // break; // default: // // code... // break; // } // } // // /* // * fourth sheet data // */ // $datasets = $this->getExportData(3); // $active_sheet = $this->spreadsheet->setActiveSheetIndex(3); // $date_indexes = array(); // // $previous_date = ''; // foreach ($datasets as $data_category => $category_value) { // $cell_row_index = 4; // $row_passed = 0; // switch ($data_category) { // case 'yearly_s_evtype': // foreach ($category_value as $index => $value) { // if (!empty($value['label'])) { // $active_sheet->setCellValue('A'.($cell_row_index), $value['label']); // $active_sheet->setCellValue('B'.($cell_row_index), $value['gev_rdata']); // $active_sheet->setCellValue('C'.($cell_row_index), $value['year']); // $cell_row_index++; // } // } // break; // case 'yearly_s_month': // $months = array('Tous les mois', 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', // 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'); // foreach ($category_value as $index => $value) { // if (!empty($value['gev_raction'])) { // $active_sheet->setCellValue('E'.($cell_row_index), $months[$value['gev_raction']]); // $active_sheet->setCellValue('F'.($cell_row_index), $value['gev_rdata']); // $active_sheet->setCellValue('G'.($cell_row_index), $value['year']); // $cell_row_index++; // } // } // break; // case 'yearly_s_city': // foreach ($category_value as $index => $value) { // if (!empty($value['label'])) { // $active_sheet->setCellValue('I'.($cell_row_index), $value['label']); // $active_sheet->setCellValue('J'.($cell_row_index), $value['gev_rdata']); // $active_sheet->setCellValue('K'.($cell_row_index), $value['year']); // $cell_row_index++; // } // } // break; // case 'yearly_faq_search': // foreach ($category_value as $index => $value) { // $active_sheet->setCellValue('M'.($cell_row_index), $value['gev_raction']); // $active_sheet->setCellValue('N'.($cell_row_index), $value['gev_rdata']); // $active_sheet->setCellValue('O'.($cell_row_index), $value['year']); // $cell_row_index++; // } // break; // // case 'yearly_source_mediums': // foreach ($category_value as $index => $value) { // $active_sheet->setCellValue('Q'.($cell_row_index), $value['gsm_rsource']); // $active_sheet->setCellValue('R'.($cell_row_index), $value['gsm_rsourcem']); // $active_sheet->setCellValue('S'.($cell_row_index), $value['gsm_rchannelgroup']); // $active_sheet->setCellValue('T'.($cell_row_index), $value['gsm_rdata']); // $active_sheet->setCellValue('U'.($cell_row_index), $value['year']); // $cell_row_index++; // } // break; // default: // // code... // break; // } // } // // /*FILTERED DATA*/ // /* // * first sheet data // */ // $datasets = $this->getExportData(0, $start, $end); // $active_sheet = $this->spreadsheet->setActiveSheetIndex(4); // $date_indexes = array(); // // // set interval // $active_sheet->mergeCells('A1:V1') // ->setCellValue('A1', "Du {$start_date_string} au {$end_date_string}"); // // // start from fourth row in first sheet // $previous_date = ''; // foreach ($datasets as $data_category => $category_value) { // $cell_row_index = 5; // $row_passed = 0; // switch ($data_category) { // case 'visitors_graph_data': // $user_cell = array( // 'Nouveaux'=> 'B', // 'Connus'=> 'C', // 'Connectés' =>'D' // ); // // echo var_dump($category_value[0]['vis_rdate']); // foreach ($category_value as $index => $value) { // $date_indexes[$value['vis_rdate']] = $cell_row_index; // // array_push($unique_dates['A'.$cell_row_index], $value['vis_rdate']); // $active_sheet->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // $active_sheet->setCellValue($user_cell[$value['user_type']].($cell_row_index), $value['vis_rdata']); // // $previous_date = $value['vis_rdate']; // // $row_passed++; // if ($row_passed == 3) { // $cell_row_index++; // $row_passed = 0; // } // // if ($value['vis_rdate'] == $previous_date) { // // } else { // // $active_sheet->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // // $active_sheet->setCellValue($user_cell[$value['vis_rdate']].($cell_row_index), $value['vis_rdate']); // // } // } // break; // case 'sessions_graph_data': // $user_cell = array( // 'Nouveaux'=> 'E', // 'Connus'=> 'F', // 'Connectés' =>'G' // ); // // echo var_dump($category_value[0]['sess_rdate']); // foreach ($category_value as $index => $value) { // // array_push($unique_dates['A'.$cell_row_index], $value['sess_rdate']); // $active_sheet->setCellValue('A'.($cell_row_index), $value['sess_rdate']); // $active_sheet->setCellValue($user_cell[$value['user_type']].($cell_row_index), $value['sess_rdata']); // // $previous_date = $value['sess_rdate']; // // $row_passed++; // if ($row_passed == 3) { // $cell_row_index++; // $row_passed = 0; // } // // if ($value['vis_rdate'] == $previous_date) { // // } else { // // $active_sheet->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // // $active_sheet->setCellValue($user_cell[$value['vis_rdate']].($cell_row_index), $value['vis_rdate']); // // } // } // break; // case 'session_duration_graph_data': // $user_cell = array( // 'Nouveaux'=> 'H', // 'Connus'=> 'I', // 'Connectés' =>'J' // ); // // echo var_dump($category_value[0]['sess_rdate']); // foreach ($category_value as $index => $value) { // // array_push($unique_dates['A'.$cell_row_index], $value['sess_rdate']); // $active_sheet->setCellValue('A'.($cell_row_index), $value['sess_rdate']); // $active_sheet->setCellValue($user_cell[$value['user_type']].($cell_row_index), $value['sess_rdata']); // // $previous_date = $value['sess_rdate']; // // $row_passed++; // if ($row_passed == 3) { // $cell_row_index++; // $row_passed = 0; // } // // if ($value['vis_rdate'] == $previous_date) { // // } else { // // $active_sheet->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // // $active_sheet->setCellValue($user_cell[$value['vis_rdate']].($cell_row_index), $value['vis_rdate']); // // } // } // break; // case 'pageviews': // $user_cell = array( // 'Nouveaux'=> 'K', // 'Connus'=> 'L', // 'Connectés' =>'M' // ); // // echo var_dump($category_value[0]['pv_rdate']); // foreach ($category_value as $index => $value) { // // array_push($unique_dates['A'.$cell_row_index], $value['pv_rdate']); // $active_sheet->setCellValue('A'.($cell_row_index), $value['pv_rdate']); // $active_sheet->setCellValue($user_cell[$value['user_type']].($cell_row_index), $value['pv_rdata']); // // $previous_date = $value['sess_rdate']; // // $row_passed++; // if ($row_passed == 3) { // $cell_row_index++; // $row_passed = 0; // } // // if ($value['vis_rdate'] == $previous_date) { // // } else { // // $active_sheet->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // // $active_sheet->setCellValue($user_cell[$value['vis_rdate']].($cell_row_index), $value['vis_rdate']); // // } // } // break; // case 'unique_pageviews': // $user_cell = array( // 'Nouveaux'=> 'N', // 'Connus'=> 'O', // 'Connectés' =>'P' // ); // // echo var_dump($category_value[0]['pv_rdate']); // foreach ($category_value as $index => $value) { // // array_push($unique_dates['A'.$cell_row_index], $value['pv_rdate']); // $active_sheet->setCellValue('A'.($cell_row_index), $value['pv_rdate']); // $active_sheet->setCellValue($user_cell[$value['user_type']].($cell_row_index), $value['pv_rdata']); // // $previous_date = $value['sess_rdate']; // // $row_passed++; // if ($row_passed == 3) { // $cell_row_index++; // $row_passed = 0; // } // // if ($value['vis_rdate'] == $previous_date) { // // } else { // // $active_sheet->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // // $active_sheet->setCellValue($user_cell[$value['vis_rdate']].($cell_row_index), $value['vis_rdate']); // // } // } // break; // case 'event_views': // $user_cell = array( // 'Nouveaux'=> 'Q', // 'Connus'=> 'R', // 'Connectés' =>'S' // ); // // echo var_dump($category_value[0]['ev_rdate']); // foreach ($category_value as $index => $value) { // // array_push($unique_dates['A'.$cell_row_index], $value['ev_rdate']); // // $active_sheet->setCellValue('A'.($date_indexes[$value['ev_rdate']]), $value['ev_rdate']); // $active_sheet->setCellValue($user_cell[$value['user_type']].($date_indexes[$value['ev_rdate']]), $value['ev_rdata']); // // $previous_date = $value['sess_rdate']; // // $row_passed++; // if ($row_passed == 3) { // $cell_row_index++; // $row_passed = 0; // } // // if ($value['vis_rdate'] == $previous_date) { // // } else { // // $active_sheet->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // // $active_sheet->setCellValue($user_cell[$value['vis_rdate']].($cell_row_index), $value['vis_rdate']); // // } // } // break; // case 'bounceRate': // $user_cell = array( // 'Nouveaux'=> 'T', // 'Connus'=> 'U', // 'Connectés' =>'V' // ); // // echo var_dump($category_value[0]['bcr_rdate']); // foreach ($category_value as $index => $value) { // // array_push($unique_dates['A'.$cell_row_index], $value['bcr_rdate']); // $active_sheet->setCellValue('A'.($cell_row_index), $value['bcr_rdate']); // $active_sheet->setCellValue($user_cell[$value['user_type']].($cell_row_index), $value['bcr_rdata']); // // $previous_date = $value['sess_rdate']; // // $row_passed++; // if ($row_passed == 3) { // $cell_row_index++; // $row_passed = 0; // } // // if ($value['vis_rdate'] == $previous_date) { // // } else { // // $active_sheet->setCellValue('A'.($cell_row_index), $value['vis_rdate']); // // $active_sheet->setCellValue($user_cell[$value['vis_rdate']].($cell_row_index), $value['vis_rdate']); // // } // } // break; // // default: // // code... // break; // } // // echo $key; // // echo var_dump($value); // } // // /* // * second sheet data // */ // $datasets = $this->getExportData(4, $start, $end); // $active_sheet = $this->spreadsheet->setActiveSheetIndex(5); // $date_indexes = array(); // // // set interval // $active_sheet->mergeCells('A1:V1') // ->setCellValue('A1', "Du {$start_date_string} au {$end_date_string}"); // // $previous_date = ''; // foreach ($datasets as $data_category => $category_value) { // $cell_row_index = 4; // $row_passed = 0; // switch ($data_category) { // case 'yearly_browsers': // // echo var_dump($category_value[0]['vis_rdate']); // foreach ($category_value as $index => $value) { // $date_indexes[$value['year']] = $cell_row_index; // $active_sheet->setCellValue('A'.($cell_row_index), $value['rtype']); // $active_sheet->setCellValue('B'.($cell_row_index), $value['vis_rdata']); // // $active_sheet->setCellValue('C'.($cell_row_index), $value['year']); // $cell_row_index++; // } // break; // case 'yearly_devices': // // echo var_dump($category_value[0]['vis_rdate']); // foreach ($category_value as $index => $value) { // $date_indexes[$value['year']] = $cell_row_index; // $active_sheet->setCellValue('E'.($cell_row_index), $value['rtype']); // $active_sheet->setCellValue('F'.($cell_row_index), $value['vis_rdata']); // // $active_sheet->setCellValue('G'.($cell_row_index), $value['year']); // $cell_row_index++; // } // break; // case 'yearly_url_clicks': // // echo var_dump($category_value[0]['vis_rdate']); // foreach ($category_value as $index => $value) { // $date_indexes[$value['year']] = $cell_row_index; // $active_sheet->setCellValue('I'.($cell_row_index), $value['gev_raction']); // $active_sheet->setCellValue('J'.($cell_row_index), $value['gev_rdata']); // // $active_sheet->setCellValue('K'.($cell_row_index), $value['year']); // $cell_row_index++; // } // break; // case 'yearly_contact_cat': // // echo var_dump($category_value[0]['vis_rdate']); // foreach ($category_value as $index => $value) { // $date_indexes[$value['year']] = $cell_row_index; // $active_sheet->setCellValue('M'.($cell_row_index), $value['c_category']); // $active_sheet->setCellValue('N'.($cell_row_index), $value['clicks']); // // $active_sheet->setCellValue('O'.($cell_row_index), $value['year']); // $cell_row_index++; // } // break; // // default: // // code... // break; // } // } // // /* // * third sheet data // */ // $datasets = $this->getExportData(5, $start, $end); // $active_sheet = $this->spreadsheet->setActiveSheetIndex(6); // $date_indexes = array(); // // // set interval // $active_sheet->mergeCells('A1:V1') // ->setCellValue('A1', "Du {$start_date_string} au {$end_date_string}"); // // $previous_date = ''; // foreach ($datasets as $data_category => $category_value) { // $cell_row_index = 4; // $row_passed = 0; // switch ($data_category) { // case 'y0': // // echo var_dump($category_value[0]['vis_rdate']); // foreach ($category_value as $index => $value) { // // $active_sheet->setCellValue('A'.($cell_row_index), $value['value']); // $active_sheet->setCellValue('B3', $value['value']); // // $active_sheet->setCellValue('B'.($cell_row_index), $value['data_year']); // $cell_row_index++; // } // break; // case 'yearly_fevents': // foreach ($category_value as $index => $value) { // if (!empty($value['bostat'])) { // $active_sheet->setCellValue('E'.($cell_row_index), $value['bostat']); // $active_sheet->setCellValue('F'.($cell_row_index), $value['value']); // // $active_sheet->setCellValue('G'.($cell_row_index), $value['data_year']); // $cell_row_index++; // } // } // break; // case 'y2': // foreach ($category_value as $index => $value) { // // $active_sheet->setCellValue('I'.($cell_row_index), $value['value']); // $active_sheet->setCellValue('J3', $value['value']); // // $active_sheet->setCellValue('J'.($cell_row_index), $value['data_year']); // $cell_row_index++; // } // break; // case 'y3': // foreach ($category_value as $index => $value) { // $active_sheet->setCellValue('M3', $value['value']); // // $active_sheet->setCellValue('L'.($cell_row_index), $value['value']); // // $active_sheet->setCellValue('M'.($cell_row_index), $value['data_year']); // $cell_row_index++; // } // break; // case 'y4': // foreach ($category_value as $index => $value) { // $active_sheet->setCellValue('P3', $value['value']); // // $active_sheet->setCellValue('O'.($cell_row_index), $value['value']); // // $active_sheet->setCellValue('P'.($cell_row_index), $value['data_year']); // $cell_row_index++; // } // break; // default: // // code... // break; // } // } // // /* // * fourth sheet data // */ // $datasets = $this->getExportData(6, $start, $end); // $active_sheet = $this->spreadsheet->setActiveSheetIndex(7); // $date_indexes = array(); // // // set interval // $active_sheet->mergeCells('A1:V1') // ->setCellValue('A1', "Du {$start_date_string} au {$end_date_string}"); // // $previous_date = ''; // foreach ($datasets as $data_category => $category_value) { // $cell_row_index = 5; // $row_passed = 0; // switch ($data_category) { // case 'yearly_s_evtype': // foreach ($category_value as $index => $value) { // if (!empty($value['label'])) { // $active_sheet->setCellValue('A'.($cell_row_index), $value['label']); // $active_sheet->setCellValue('B'.($cell_row_index), $value['gev_rdata']); // // $active_sheet->setCellValue('C'.($cell_row_index), $value['year']); // $cell_row_index++; // } // } // break; // case 'yearly_s_month': // $months = array('Tous les mois', 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', // 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'); // foreach ($category_value as $index => $value) { // if (!empty($value['gev_raction'])) { // $active_sheet->setCellValue('E'.($cell_row_index), $months[$value['gev_raction']]); // $active_sheet->setCellValue('F'.($cell_row_index), $value['gev_rdata']); // // $active_sheet->setCellValue('G'.($cell_row_index), $value['year']); // $cell_row_index++; // } // } // break; // case 'yearly_s_city': // foreach ($category_value as $index => $value) { // if (!empty($value['label'])) { // $active_sheet->setCellValue('I'.($cell_row_index), $value['label']); // $active_sheet->setCellValue('J'.($cell_row_index), $value['gev_rdata']); // // $active_sheet->setCellValue('K'.($cell_row_index), $value['year']); // $cell_row_index++; // } // } // break; // case 'yearly_faq_search': // foreach ($category_value as $index => $value) { // $active_sheet->setCellValue('M'.($cell_row_index), $value['gev_raction']); // $active_sheet->setCellValue('N'.($cell_row_index), $value['gev_rdata']); // // $active_sheet->setCellValue('O'.($cell_row_index), $value['year']); // $cell_row_index++; // } // break; // // case 'yearly_source_mediums': // foreach ($category_value as $index => $value) { // $active_sheet->setCellValue('Q'.($cell_row_index), $value['gsm_rsource']); // $active_sheet->setCellValue('R'.($cell_row_index), $value['gsm_rsourcem']); // $active_sheet->setCellValue('S'.($cell_row_index), $value['gsm_rchannelgroup']); // $active_sheet->setCellValue('T'.($cell_row_index), $value['gsm_rdata']); // // $active_sheet->setCellValue('U'.($cell_row_index), $value['year']); // $cell_row_index++; // } // break; // default: // // code... // break; // } // } // } /** * Export no show file with title+date * * @param integer $eventID * @param integer $eventScheduleID * @return void * access private member */ public function export($start, $end) { //call memory limit $this->setMemoryLimit(); //call document properties $this->setDocumentProperties(); //set php excel first 5 row(s) with freeze header $this->setExcelHeaders(); //get data for populate $this->reportData($start, $end); //Call auto size function columns for active worksheet $this->setExcelAutoSize(); // Set active sheet index to the first sheet, so Excel opens this as the first sheet $this->spreadsheet->setActiveSheetIndex(0); // protect the workbok $this->spreadsheet->getSecurity()->setLockWindows(true); $this->spreadsheet->getSecurity()->setLockStructure(true); $this->spreadsheet->getSecurity()->setWorkbookPassword('secret'); //call headers and download file $start_date_string = date('d/m/Y', strtotime($start)); $end_date_string = date('d/m/Y', strtotime($end)); $this->setHeaders('Données statistiques - '.date('Y_m_d H:i:s')." (Du {$start_date_string} au {$end_date_string})"); } }