public function exportAction() { $this->_helper->viewRenderer->setNoRender(true); $this->_helper->layout->disableLayout(); $pageformProxy = new SxModule_Pageform_Proxy(); $pageform = $pageformProxy->getById((int) $this->_getParam('id')); $subscriptionProxy = new SxModule_Pageform_Subscription_Proxy(); $results = $subscriptionProxy->getAllAndPageformByPageformId($this->_getParam('id'), false); if (count($results) != 0) { $arrkeys = array_keys($results); $title = $results[$arrkeys[0]]->getPageformname(); $objPHPExcel = new PHPExcel(); $objPHPExcel->getProperties()->setCreator("SxModule"); $objPHPExcel->createSheet(0); $objPHPExcel->setActiveSheetIndex(0); $objPHPSheet = $objPHPExcel->getActiveSheet(); $objPHPSheet->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4); $objPHPSheet->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE); $objPHPSheet->getHeaderFooter()->setOddFooter('&R' . $this->admin_tmx->_('page') . ' &P ' . $this->admin_tmx->_('from') . ' &N'); $objPHPSheet->setShowGridlines(false); $objPHPSheet->getDefaultStyle()->getFont()->setSize(12.0); $objPHPSheet->getDefaultRowDimension()->setRowHeight(20); $objPHPSheet->setTitle($title); $margins = new PHPExcel_Worksheet_PageMargins(); $margins->setLeft(0.2); $margins->setRight(0.2); $margins->setTop(0.2); $margins->setBottom(0.3); $objPHPSheet->setPageMargins($margins); $startrow = 5; $startcol = "E"; $objPHPSheet->mergeCells('B2:G2'); $objPHPSheet->mergeCells('B3:G3'); $objPHPSheet->mergeCells('B4:G4'); $objPHPSheet->duplicateStyleArray(array('font' => array('size' => 21, 'bold' => TRUE), 'alignment' => array('vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER)), "B2:F2"); $objPHPSheet->setCellValue("B" . $startrow, "Id"); $objPHPSheet->setCellValue("C" . $startrow, "Datum/tijd"); $objPHPSheet->setCellValue("D" . $startrow, "Taal"); $objPHPSheet->setCellValue("E" . $startrow, "URL"); foreach ($pageform->getField() as $field) { $startcol++; $objPHPSheet->setCellValue($startcol . $startrow, $field->getTsl()->getName()); } $objPHPSheet->duplicateStyleArray(array('font' => array('bold' => TRUE), 'alignment' => array('horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER)), "B{$startrow}:" . $startcol . $startrow); foreach ($results as $input) { $startrow++; $startcol = "E"; $objPHPSheet->setCellValue("B" . $startrow, $input->getId()); $objPHPSheet->setCellValue("C" . $startrow, $input->getDateCreated()); $objPHPSheet->setCellValue("D" . $startrow, $input->getLng()); $objPHPSheet->setCellValue("E" . $startrow, $input->getUrl()); foreach ($pageform->getField() as $field) { $startcol++; $val = ""; foreach ($input->getMeta() as $meta) { if ($field->getId() == $meta->getFieldId()) { $pos = strpos($meta->getValue(), 'pageform_file'); if ($pos === false) { $val = $meta->getValue(); } else { $val = $this->view->baseUrl('form_files/' . $pageform->getId() . '/' . $meta->getValue()); } } } $objPHPSheet->setCellValue($startcol . $startrow, $val); } $objPHPSheet->duplicateStyleArray(array('borders' => array('allborders' => array('style' => PHPExcel_Style_Border::BORDER_THIN)), 'alignment' => array('vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER, 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_LEFT)), "B" . $startrow . ":" . --$startcol . $startrow); } $objPHPExcel->getActiveSheet()->getStyle('B2')->getAlignment()->setWrapText(true); $objPHPSheet->setCellValue('B2', $title); $objPHPSheet->setCellValue('B3', 'Export datum: ' . date('Y-m-d H:i:s')); $user = Zend_Auth::getInstance()->getIdentity(); $objPHPSheet->setCellValue('B4', 'Export door: ' . $user->getFirstName() . ' ' . $user->getLastName()); $objPHPSheet->getColumnDimension("B")->setAutoSize(true); $objPHPSheet->getColumnDimension("C")->setAutoSize(true); foreach ($results as $input) { $startrow++; $col = "D"; foreach ($input->getMeta() as $meta) { $objPHPSheet->getColumnDimension($col)->setAutoSize(true); $col++; } } $date = date('d-m-Y-h-i-s'); $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header("Content-Disposition: attachment; filename=export-" . $this->admin_tmx->_('pageform') . "-" . $title . "-{$date}.xls"); header("Content-Transfer-Encoding: binary"); $objWriter->save("php://output"); die; } else { $flashMessenger = $this->_helper->getHelper('FlashMessenger'); $flashMessenger->addMessage("Geen Ingaves"); $this->_helper->redirector->gotoSimple('index', 'pageform'); } }
public function toExcel($masterarray, $lngs) { $this->_helper->viewRenderer->setNoRender(true); $this->_helper->layout->disableLayout(); $title = "Export TMX {$_SERVER['SERVER_NAME']}"; /* create excel */ $objPHPExcel = new PHPExcel(); $objPHPExcel->getProperties()->setCreator("SxCms - Gwen"); $sheetId = 0; foreach ($masterarray as $title => $superarray) { $objPHPExcel->createSheet(NULL, $sheetId); $objPHPExcel->setActiveSheetIndex($sheetId); $objPHPExcel->getActiveSheet()->setTitle($title); $objPHPSheet = $objPHPExcel->getActiveSheet(); /* page setup */ $objPHPSheet->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4); $objPHPSheet->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE); $objPHPSheet->getHeaderFooter()->setOddFooter('&Rpagina &P van &N'); $objPHPSheet->setShowGridlines(false); $objPHPSheet->getDefaultStyle()->getFont()->setSize(12.0); $objPHPSheet->getDefaultRowDimension()->setRowHeight(20); $objPHPSheet->setTitle($title); /* page margins */ $margins = new PHPExcel_Worksheet_PageMargins(); $margins->setLeft(0.2); $margins->setRight(0.2); $margins->setTop(0.2); $margins->setBottom(0.3); $objPHPSheet->setPageMargins($margins); /* set headers */ $objPHPSheet->setCellValue('A3', 'LABEL'); $i = 0; $alphabet = range('A', 'Z'); foreach ($lngs as $lng) { $i++; $objPHPSheet->setCellValue($alphabet[$i] . '3', $lng); } /* layout */ $objPHPSheet->mergeCells('A1:D1'); $objPHPSheet->duplicateStyleArray(array('font' => array('size' => 21, 'bold' => TRUE)), "A1:F1"); // title $objPHPSheet->duplicateStyleArray(array('font' => array('bold' => TRUE), 'alignment' => array('horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER)), "A3:F3"); //headers /* set data */ $objPHPSheet->setCellValue('A1', $title); $rij = 3; foreach ($superarray as $result) { $rij++; $objPHPSheet->setCellValue('A' . $rij, $result['label']); $xi = 0; foreach ($lngs as $lng) { $xi++; $objPHPSheet->setCellValue($alphabet[$xi] . $rij, $result[$lng]); } } /* column width */ for ($ii = 65; $ii < 68; $ii++) { $objPHPSheet->getColumnDimension(chr($ii))->setAutoSize(true); } $sheetId++; } $objPHPExcel->setActiveSheetIndex(0); /* output */ $date = date('d-m-Y-h-i-s'); $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); //$objWriter->save(APPLICATION_ROOT . // "\public_html\\tmp\\export-leden-$date.xls"); //$objWriter->save("/public_html/tmp/export-leden-$date.xls"); header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header("Content-Disposition: attachment; filename=export-tmx-{$date}.xls"); header("Content-Transfer-Encoding: binary"); $objWriter->save("php://output"); die; }
public function exportAction() { $this->_helper->viewRenderer->setNoRender(true); $this->_helper->layout->disableLayout(); $title = $this->admin_tmx->_('exportresults'); $proxy = new SxModule_Subscribe_Proxy(); $registrations = $proxy->getAllActive(); $objPHPExcel = new PHPExcel(); $objPHPExcel->getProperties()->setCreator("SxModule"); $objPHPExcel->createSheet(0); $objPHPExcel->setActiveSheetIndex(0); $objPHPSheet = $objPHPExcel->getActiveSheet(); $objPHPSheet->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4); $objPHPSheet->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE); $objPHPSheet->getHeaderFooter()->setOddFooter('&R' . $this->admin_tmx->_('page') . ' &P ' . $this->admin_tmx->_('from') . ' &N'); $objPHPSheet->setShowGridlines(false); $objPHPSheet->getDefaultStyle()->getFont()->setSize(12.0); $objPHPSheet->getDefaultRowDimension()->setRowHeight(20); $objPHPSheet->setTitle($title); $margins = new PHPExcel_Worksheet_PageMargins(); $margins->setLeft(0.2); $margins->setRight(0.2); $margins->setTop(0.2); $margins->setBottom(0.3); $objPHPSheet->setPageMargins($margins); $objPHPSheet->setCellValue('A3', $this->admin_tmx->_('id')); $objPHPSheet->setCellValue('B3', $this->admin_tmx->_('name')); $objPHPSheet->setCellValue('C3', $this->admin_tmx->_('firstname')); $objPHPSheet->setCellValue('D3', $this->admin_tmx->_('email')); $objPHPSheet->setCellValue('E3', $this->admin_tmx->_('language')); $objPHPSheet->setCellValue('F3', $this->admin_tmx->_('active')); $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setWrapText(true); $objPHPSheet->mergeCells('A1:D1'); $objPHPSheet->duplicateStyleArray(array('font' => array('size' => 21, 'bold' => TRUE)), "A1:F1"); $objPHPSheet->duplicateStyleArray(array('font' => array('bold' => TRUE), 'alignment' => array('horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER)), "A3:F3"); $objPHPSheet->duplicateStyleArray(array('borders' => array('allborders' => array('style' => PHPExcel_Style_Border::BORDER_THIN)), 'alignment' => array('vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER)), "A4:F" . (count($registrations) + 3)); $objPHPSheet->duplicateStyleArray(array('alignment' => array('horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER)), "A4:F" . (count($registrations) + 3)); $objPHPSheet->setCellValue('A1', $title); $rij = 3; foreach ($registrations as $result) { $rij++; $objPHPSheet->setCellValue('A' . $rij, $result->getId()); $objPHPSheet->setCellValue('B' . $rij, $result->getName()); $objPHPSheet->setCellValue('C' . $rij, $result->getFirstname()); $objPHPSheet->setCellValue('D' . $rij, $result->getEmail()); $objPHPSheet->setCellValue('E' . $rij, $result->getLng()); $objPHPSheet->setCellValue('F' . $rij, $result->getActive()); } for ($ii = 65; $ii < 68; $ii++) { $objPHPSheet->getColumnDimension(chr($ii))->setAutoSize(true); } $objPHPSheet->getColumnDimension("A")->setWidth(5); $objPHPSheet->getColumnDimension("B")->setWidth(30); $objPHPSheet->getColumnDimension("C")->setWidth(30); $objPHPSheet->getColumnDimension("D")->setWidth(30); $objPHPSheet->getColumnDimension("E")->setWidth(5); $objPHPSheet->getColumnDimension("F")->setWidth(5); $date = date('d-m-Y-h-i-s'); $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header("Content-Disposition: attachment; filename=export-" . $this->admin_tmx->_('registrations') . "-{$date}.xls"); header("Content-Transfer-Encoding: binary"); $objWriter->save("php://output"); die; }