public function export()
 {
     $objPHPExcel = new sfPhpExcel();
     // Set properties
     $objPHPExcel->getProperties()->setCreator("SensorSix");
     $objPHPExcel->getProperties()->setLastModifiedBy("SensorSix");
     $objPHPExcel->setActiveSheetIndex(0);
     $this->sheet = $objPHPExcel->getActiveSheet();
     $this->buildHead();
     $this->buildBody();
     // Rename sheet
     $objPHPExcel->getActiveSheet()->setTitle('Alternatives');
     // Set active sheet index to the first sheet, so Excel opens this as the first sheet
     $objPHPExcel->setActiveSheetIndex(0);
     // Save Excel 2007 file
     $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
     $objWriter->save('php://output');
 }
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 *
 * @category   PHPExcel
 * @package    PHPExcel
 * @copyright  Copyright (c) 2006 - 2009 PHPExcel (http://www.codeplex.com/PHPExcel)
 * @license    http://www.gnu.org/licenses/lgpl.txt	LGPL
 * @version    1.6.7, 2009-04-22
 */
/* Modified by Bertrand Zuchuat */
require_once 'symfony.inc.php';
// Create new PHPExcel object
echo date('H:i:s') . " Create new PHPExcel object\n";
$objPHPExcel = new sfPhpExcel();
// Set properties
echo date('H:i:s') . " Set properties\n";
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");
$objPHPExcel->getProperties()->setLastModifiedBy("Maarten Balliauw");
$objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document");
$objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document");
$objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.");
$objPHPExcel->getProperties()->setKeywords("office 2007 openxml php");
$objPHPExcel->getProperties()->setCategory("Test result file");
// Create a first sheet, representing sales data
echo date('H:i:s') . " Add some data\n";
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Description');
$objPHPExcel->getActiveSheet()->setCellValue('B1', 'Amount');
$objPHPExcel->getActiveSheet()->setCellValue('A2', 'Paycheck received');
$objPHPExcel->getActiveSheet()->setCellValue('B2', 100);
$objPHPExcel->getActiveSheet()->setCellValue('A3', 'Cup of coffee bought');
$objPHPExcel->getActiveSheet()->setCellValue('B3', -1.5);
Esempio n. 3
0
	
	Number of rows	Seconds to generate
	200				3
	500				4
	1000			6
	2000			12
	4000			36
	8000			64
	15000			465
*/
// Create new PHPExcel object
echo date('H:i:s') . " Create new PHPExcel object\n";
$objPHPExcel = new sfPhpExcel();
// Set properties
echo date('H:i:s') . " Set properties\n";
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");
$objPHPExcel->getProperties()->setLastModifiedBy("Maarten Balliauw");
$objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document");
$objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document");
$objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.");
$objPHPExcel->getProperties()->setKeywords("office 2007 openxml php");
$objPHPExcel->getProperties()->setCategory("Test result file");
// Create a first sheet
echo date('H:i:s') . " Add data\n";
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setCellValue('A1', "Firstname");
$objPHPExcel->getActiveSheet()->setCellValue('B1', "Lastname");
$objPHPExcel->getActiveSheet()->setCellValue('C1', "Phone");
$objPHPExcel->getActiveSheet()->setCellValue('D1', "Fax");
$objPHPExcel->getActiveSheet()->setCellValue('E1', "Is Client ?");
// Hide "Phone" and "fax" column
Esempio n. 4
0
 /**
  * @param sfWebRequest $request
  */
 public function executeExcelExport(sfWebRequest $request)
 {
     $decision_id = $request->getParameter('decision_id', false);
     /** @var Decision $decision  */
     $decision = DecisionTable::getInstance()->getDecisionForUser($this->getUser()->getGuardUser(), $decision_id);
     $this->forward404Unless($decision);
     $objPHPExcel = new sfPhpExcel();
     header('Content-type: application/force-download');
     header('Content-Disposition: attachment; filename="' . $decision->name . '.xlsx"');
     // Set properties
     $objPHPExcel->getProperties()->setCreator("SensorSix");
     $objPHPExcel->getProperties()->setLastModifiedBy("SensorSix");
     // Add some data
     $objPHPExcel->setActiveSheetIndex(0);
     /** @var ProjectRelease[] $releases  */
     $releases = Doctrine_Query::create()->from('ProjectRelease r')->leftJoin('r.ProjectReleaseAlternative ra')->leftJoin('ra.Alternative a')->where('r.decision_id = ? AND r.criterion_id = ?', array($decision_id, $request->getParameter('criterion_id')))->execute();
     $index = 1;
     $sheet = $objPHPExcel->getActiveSheet();
     foreach ($releases as $release) {
         $sheet->setCellValue('A' . $index++, $release->name);
         foreach ($release->ProjectReleaseAlternative as $releaseAlternative) {
             $sheet->setCellValue('B' . $index, $releaseAlternative->Alternative->name);
             $sheet->setCellValueExplicit('C' . $index, $releaseAlternative->value, PHPExcel_Cell_DataType::TYPE_NUMERIC);
             $index++;
         }
         $sheet->setCellValue('B' . ++$index, 'Total:');
         $sheet->setCellValueExplicit('C' . $index, $release->value, PHPExcel_Cell_DataType::TYPE_NUMERIC);
         $index += 2;
     }
     // Rename sheet
     $objPHPExcel->getActiveSheet()->setTitle('Releases');
     // Set active sheet index to the first sheet, so Excel opens this as the first sheet
     $objPHPExcel->setActiveSheetIndex(0);
     // Save Excel 2007 file
     $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
     $objWriter->save('php://output');
     exit;
 }
Esempio n. 5
0
 public function executeExcelExport(sfWebRequest $request)
 {
     $decision_id = $request->getParameter('decision_id', false);
     /** @var Decision $decision  */
     $decision = DecisionTable::getInstance()->getDecisionForUser($this->getUser()->getGuardUser(), $decision_id);
     $this->forward404Unless($decision);
     $average_analyze = new AverageAnalyze();
     $average_analyze->setDecisionId($decision_id);
     $average_analyze->load();
     $measurement = $average_analyze->getMeasurement();
     $objPHPExcel = new sfPhpExcel();
     header('Content-type: application/force-download');
     header('Content-Disposition: attachment; filename="Alternatives (' . $decision->name . ').xlsx"');
     // Set properties
     $objPHPExcel->getProperties()->setCreator("SensorSix");
     $objPHPExcel->getProperties()->setLastModifiedBy("SensorSix");
     // Add some data
     $objPHPExcel->setActiveSheetIndex(0);
     $index = 1;
     $column_index = 0;
     $sheet = $objPHPExcel->getActiveSheet();
     // Add default header
     foreach (array('ID', 'Name', 'Status', 'Work progress', 'Tags', 'Additional info', 'Notes', 'Due date', 'Notify date', 'Created at', 'Created by', 'Updated at', 'Updated by', 'Custom fields') as $value) {
         $sheet->setCellValue(PHPExcel_Cell::stringFromColumnIndex($column_index++) . $index, $value);
     }
     // Add criterias in header
     foreach ($average_analyze->getCriteriaNames() as $criteria_name) {
         $sheet->setCellValue(PHPExcel_Cell::stringFromColumnIndex($column_index++) . $index, $criteria_name);
     }
     foreach ($decision->getAlternative() as $alternative) {
         /** @var Alternative $alternative */
         $index++;
         $column_index = 0;
         $tags = array();
         foreach ($alternative->getTagAlternative() as $tag) {
             $tags[] = $tag->Tag->name;
         }
         $sheet->setCellValue(PHPExcel_Cell::stringFromColumnIndex($column_index++) . $index, $alternative->getItemId());
         $sheet->setCellValue(PHPExcel_Cell::stringFromColumnIndex($column_index++) . $index, $alternative->name);
         $sheet->setCellValue(PHPExcel_Cell::stringFromColumnIndex($column_index++) . $index, $alternative->status);
         $sheet->setCellValue(PHPExcel_Cell::stringFromColumnIndex($column_index++) . $index, $alternative->work_progress);
         $sheet->setCellValue(PHPExcel_Cell::stringFromColumnIndex($column_index++) . $index, implode(', ', $tags));
         $sheet->setCellValue(PHPExcel_Cell::stringFromColumnIndex($column_index++) . $index, $alternative->additional_info);
         $sheet->setCellValue(PHPExcel_Cell::stringFromColumnIndex($column_index++) . $index, $alternative->notes);
         $sheet->setCellValue(PHPExcel_Cell::stringFromColumnIndex($column_index++) . $index, $alternative->due_date);
         $sheet->setCellValue(PHPExcel_Cell::stringFromColumnIndex($column_index++) . $index, $alternative->notify_date);
         $sheet->setCellValue(PHPExcel_Cell::stringFromColumnIndex($column_index++) . $index, $alternative->created_at);
         $sheet->setCellValue(PHPExcel_Cell::stringFromColumnIndex($column_index++) . $index, $alternative->created_by);
         $sheet->setCellValue(PHPExcel_Cell::stringFromColumnIndex($column_index++) . $index, $alternative->updated_at);
         $sheet->setCellValue(PHPExcel_Cell::stringFromColumnIndex($column_index++) . $index, $alternative->updated_by);
         $custom_fields = array();
         foreach (json_decode($alternative->custom_fields, true) as $key => $value) {
             $custom_fields[] = $key . ': ' . $value;
         }
         $sheet->setCellValue(PHPExcel_Cell::stringFromColumnIndex($column_index++) . $index, implode(PHP_EOL, $custom_fields));
         foreach ($average_analyze->getCriteriaNames() as $criteria_id => $criteria_name) {
             if (array_key_exists($alternative->getId(), $measurement[$criteria_id])) {
                 $sheet->setCellValue(PHPExcel_Cell::stringFromColumnIndex($column_index) . $index, $measurement[$criteria_id][$alternative->getId()]->getAverage());
             }
             $column_index++;
         }
     }
     for ($i = 0; $i <= $column_index; $i++) {
         $sheet->getColumnDimensionByColumn($i)->setAutoSize(true);
     }
     $sheet->calculateColumnWidths();
     // Rename sheet
     $objPHPExcel->getActiveSheet()->setTitle('Alternatives');
     // Set active sheet index to the first sheet, so Excel opens this as the first sheet
     $objPHPExcel->setActiveSheetIndex(0);
     // Save Excel 2007 file
     $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
     $objWriter->save('php://output');
     exit;
 }