diff --git a/civicrm/CRM/Report/Form.php b/civicrm/CRM/Report/Form.php index 694b77b7e61535864ddd3af3ee4c98656f66f2e8..517e64611d1bed42c564cf0c25ff8e98305f4f0d 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. * @@ -1416,7 +1421,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; } @@ -2841,6 +2846,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'); } @@ -3481,6 +3491,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);