diff --git a/civicrm/CRM/Report/Form.php b/civicrm/CRM/Report/Form.php index 47adf78eed1b64a28ccf515bca0fe5131f50c409..56bfdd6f7e390e222ff466299f3671f99fcb51c5 100644 --- a/civicrm/CRM/Report/Form.php +++ b/civicrm/CRM/Report/Form.php @@ -139,6 +139,11 @@ class CRM_Report_Form extends CRM_Core_Form { */ protected $_groupFilter = FALSE; + /** + * Required for civiexportexcel. + */ + public $supportsExportExcel = TRUE; + /** * Has the report been optimised for group filtering. * @@ -1418,7 +1423,7 @@ class CRM_Report_Form extends CRM_Core_Form { if (!CRM_Core_Permission::check('view report sql')) { return; } - $ignored_output_modes = ['pdf', 'csv', 'print']; + $ignored_output_modes = ['pdf', 'csv', 'print', 'excel2007']; if (in_array($this->_outputMode, $ignored_output_modes)) { return; } @@ -2845,6 +2850,11 @@ WHERE cg.extends IN ('" . implode("','", $this->_customGroupExtends) . "') AND $this->_absoluteUrl = TRUE; $this->addPaging = FALSE; } + elseif ($this->_outputMode == 'excel2007') { + $printOnly = TRUE; + $this->_absoluteUrl = TRUE; + $this->addPaging = FALSE; + } elseif ($this->_outputMode == 'group') { $this->assign('outputMode', 'group'); } @@ -3487,6 +3497,9 @@ WHERE cg.extends IN ('" . implode("','", $this->_customGroupExtends) . "') AND elseif ($this->_outputMode == 'csv') { CRM_Report_Utils_Report::export2csv($this, $rows); } + elseif ($this->_outputMode == 'excel2007') { + CRM_CiviExportExcel_Utils_Report::export2excel2007($this, $rows); + } elseif ($this->_outputMode == 'group') { $group = $this->_params['groups']; $this->add2group($group);