/** * Export analytics of employees reporting to manager to excel. */ public function exportemployeereportAction() { $this->_helper->layout->disableLayout(); $param_arr = $this->_getAllParams(); $cols_param_arr = $this->_getParam('cols_arr', array()); if (isset($param_arr['cols_arr'])) { unset($param_arr['cols_arr']); } $page_no = isset($param_arr['page_no']) ? $param_arr['page_no'] : 1; $per_page = isset($param_arr['per_page']) ? $param_arr['per_page'] : PERPAGE; $sort_name = $param_arr['sort_name']; $sort_type = $param_arr['sort_type']; if (isset($param_arr['page_no'])) { unset($param_arr['page_no']); } if (isset($param_arr['sort_name'])) { unset($param_arr['sort_name']); } if (isset($param_arr['sort_type'])) { unset($param_arr['sort_type']); } if (isset($param_arr['per_page'])) { unset($param_arr['per_page']); } unset($param_arr['module']); unset($param_arr['controller']); unset($param_arr['action']); // Get employees data reporting to manager $myEmployees_model = new Default_Model_Myemployees(); $param_arr['reporting_manager'] = $myEmployees_model->getLoginUserId(); if (count($cols_param_arr) == 0) { $cols_param_arr = $this->empreport_heplper1('mandatory'); } $employee_model = new Default_Model_Employee(); $emp_data_org = $employee_model->getdata_emp_report($param_arr, $per_page, $page_no, $sort_name, $sort_type); $emp_arr = $emp_data_org['rows']; require_once 'Classes/PHPExcel.php'; require_once 'Classes/PHPExcel/IOFactory.php'; $objPHPExcel = new PHPExcel(); $letters = range('A', 'Z'); $count = 0; $filename = "EmployeeReport.xlsx"; $cell_name = ""; // Show count of employees reporting to manager // Get employees data reporting to manager $myEmployees_model = new Default_Model_Myemployees(); $employee_model = new Default_Model_Employee(); $count_emp_reporting = $employee_model->getCountEmpReporting($myEmployees_model->getLoginUserId()); $objPHPExcel->getActiveSheet()->SetCellValue($letters[$count] . "1", "My Team Count : " . $count_emp_reporting); // Make first row Headings bold and highlighted in Excel. foreach ($cols_param_arr as $names) { $i = 2; $cell_name = $letters[$count] . $i; $names = html_entity_decode($names, ENT_QUOTES, 'UTF-8'); $objPHPExcel->getActiveSheet()->SetCellValue($cell_name, $names); // Make bold cells $objPHPExcel->getActiveSheet()->getStyle($cell_name)->getFont()->setBold(true); $objPHPExcel->getActiveSheet()->getStyle($cell_name)->applyFromArray(array('fill' => array('type' => PHPExcel_Style_Fill::FILL_SOLID, 'color' => array('rgb' => '82CAFF')))); $objPHPExcel->getActiveSheet()->getColumnDimension($letters[$count])->setAutoSize(true); $i++; $count++; } // Display field/column values in Excel. $i = 3; foreach ($emp_arr as $emp_data) { $count1 = 0; foreach ($cols_param_arr as $column_key => $column_name) { // display field/column values $cell_name = $letters[$count1] . $i; if ($column_key == 'userfullname') { $value = isset($emp_data['prefix_name']) ? $emp_data['prefix_name'] . ". " . $emp_data['userfullname'] : $emp_data['userfullname']; } elseif ($column_key == 'date_of_joining') { $value = isset($emp_data['date_of_joining']) ? sapp_Global::change_date($emp_data['date_of_joining'], "view") : ""; } else { $value = isset($emp_data[$column_key]) ? $emp_data[$column_key] : ""; } $value = html_entity_decode($value, ENT_QUOTES, 'UTF-8'); $objPHPExcel->getActiveSheet()->SetCellValue($cell_name, $value); $count1++; } $i++; } sapp_Global::clean_output_buffer(); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header("Content-Disposition: attachment; filename=\"{$filename}\""); header('Cache-Control: max-age=0'); sapp_Global::clean_output_buffer(); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save('php://output'); exit; }
/** * This is used to export to excel. */ public function requisitionrptexcelAction() { $this->_helper->layout->disableLayout(); $param_arr = $this->_getAllParams(); $default_fields = array('requisition_code' => 'Requisition Code', 'job_title' => 'Job title', 'req_status' => 'Requisition Status', 'created_by' => 'Raised By', 'reporting_manager_name' => 'Reporting Manager', 'approver1' => 'Approver -1', 'appstatus1' => 'Status', 'req_no_positions' => 'No.of positions', 'selected_members' => 'Filled positions', 'created_on' => 'Raised On', 'onboard_date' => 'Due Date'); $cols_param_arr = $this->_getParam('cols_arr', $default_fields); if (isset($param_arr['cols_arr'])) { unset($param_arr['cols_arr']); } $page_no = isset($param_arr['page_no']) ? $param_arr['page_no'] : 1; $per_page = isset($param_arr['per_page']) ? $param_arr['per_page'] : PERPAGE; $sort_name = $param_arr['sort_name']; $sort_type = $param_arr['sort_type']; if (isset($param_arr['page_no'])) { unset($param_arr['page_no']); } if (isset($param_arr['sort_name'])) { unset($param_arr['sort_name']); } if (isset($param_arr['sort_type'])) { unset($param_arr['sort_type']); } if (isset($param_arr['per_page'])) { unset($param_arr['per_page']); } unset($param_arr['module']); unset($param_arr['controller']); unset($param_arr['action']); unset($param_arr['total_grid_columns']); $requisition_model = new Default_Model_Requisition(); $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserGroup = $auth->getStorage()->read()->group_id; } $requisition_data = $requisition_model->getReportData($param_arr, $per_page, $page_no, $sort_name, $sort_type, $loginUserId, $loginuserGroup, 1); $requisition_data = $requisition_data['rows']; require_once 'Classes/PHPExcel.php'; require_once 'Classes/PHPExcel/IOFactory.php'; $objPHPExcel = new PHPExcel(); $letters = range('A', 'Z'); $count = 0; $filename = "Requisitions_report.xlsx"; $cell_name = ""; // Make first row Headings bold and highlighted in Excel. foreach ($cols_param_arr as $names) { $i = 1; $cell_name = $letters[$count] . $i; $names = html_entity_decode($names, ENT_QUOTES, 'UTF-8'); $objPHPExcel->getActiveSheet()->SetCellValue($cell_name, $names); // Make bold cells $objPHPExcel->getActiveSheet()->getStyle($cell_name)->getFont()->setBold(true); $objPHPExcel->getActiveSheet()->getStyle($cell_name)->applyFromArray(array('fill' => array('type' => PHPExcel_Style_Fill::FILL_SOLID, 'color' => array('rgb' => '82CAFF')))); $objPHPExcel->getActiveSheet()->getColumnDimension($letters[$count])->setAutoSize(true); $i++; $count++; } // Display field/column values in Excel. $i = 2; foreach ($requisition_data as $requisition_data) { $count1 = 0; foreach ($cols_param_arr as $column_key => $column_name) { // display field/column values $cell_name = $letters[$count1] . $i; if ($column_key == 'userfullname') { $value = isset($requisition_data['userfullname']) ? $requisition_data['prefix_name'] . ". " . $requisition_data['userfullname'] : ""; } elseif ($column_key == 'date_of_joining') { $value = isset($requisition_data['date_of_joining']) ? sapp_Global::change_date($requisition_data['date_of_joining'], "view") : ""; } else { $value = isset($requisition_data[$column_key]) ? $requisition_data[$column_key] : ""; } $value = html_entity_decode($value, ENT_QUOTES, 'UTF-8'); $objPHPExcel->getActiveSheet()->SetCellValue($cell_name, $value); $count1++; } $i++; } sapp_Global::clean_output_buffer(); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header("Content-Disposition: attachment; filename=\"{$filename}\""); header('Cache-Control: max-age=0'); sapp_Global::clean_output_buffer(); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save('php://output'); exit; }