diff --git a/civicrm/CRM/Report/Form.php b/civicrm/CRM/Report/Form.php index 0768843c5e59344adb43a965073e73b07439fade..3690f84c8cb28f149e4609da6030b503be1c82bf 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. * @@ -1435,7 +1440,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; } @@ -2861,6 +2866,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 == 'copy' && $this->_criteriaForm) { $this->_createNew = TRUE; } @@ -3498,6 +3508,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);