public function exportAction() { $this->view->layout()->disableLayout(); $this->_helper->viewRenderer->setNoRender(true); include_once LIBRARY_PATH . "/Base/Excel/PHPExcel.php"; $objPHPExcel = new PHPExcel(); $where = "1=1 AND status!='deleted'"; $order = "addedon DESC"; // Add some data $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', 'S. No.')->setCellValue('B1', 'Username')->setCellValue('C1', 'First Name')->setCellValue('D1', 'Surname')->setCellValue('E1', 'Email')->setCellValue('F1', 'Gender')->setCellValue('G1', 'Number of Friends')->setCellValue('H1', 'Created On'); $model = new Application_Model_User(); $users = $model->fetchAll($where, $order); if (count($users) > 0) { $i = 2; $sno = 1; foreach ($users as $_user) { //select users Numbers of friends $noOfFriends = 0; $friendM = new Application_Model_Friend(); $userFriends = $friendM->countUserFriends($_user->getId()); $noOfFriends = $userFriends["totalFriends"]; //$country = $_user->findParentRow('Application_Model_DbTable_Country','Country'); // $state = $_user->findParentRow('Application_Model_DbTable_State','State'); $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A' . $i, $sno)->setCellValue('B' . $i, $_user->getUsername())->setCellValue('C' . $i, $_user->getFirstName())->setCellValue('D' . $i, $_user->getLastName())->setCellValue('E' . $i, $_user->getEmail())->setCellValue('F' . $i, ucfirst($_user->getSex()))->setCellValue('G' . $i, $noOfFriends)->setCellValue('H' . $i, date("M j, Y", $_user->getAddedOn())); $i++; $sno++; } } // Rename sheet $objPHPExcel->getActiveSheet()->setTitle('Users'); $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10); $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(35); $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(45); $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(15); //$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(25); //$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(15); //$objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(15); //$objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(15); // Set active sheet index to the first sheet, so Excel opens this as the first sheet $objPHPExcel->setActiveSheetIndex(0); if ($this->_getParam('type') == 'xls') { // Redirect output to a client’s web browser (Excel5) header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="users.xls"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); } else { if ($this->_getParam('type') == 'pdf') { // Redirect output to a client’s web browser (Excel2007) header('Content-Type: application/pdf'); header('Content-Disposition: attachment;filename="users.pdf"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF'); } else { if ($this->_getParam('type') == 'csv') { // Redirect output to a client’s web browser (Excel5) header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="users.csv"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV'); } } } $objWriter->save('php://output'); }