From 0e37fcce112e353eacaab553180d1f8481540f65 Mon Sep 17 00:00:00 2001
From: Kevin Cristiano <kcristiano@kcristiano.com>
Date: Tue, 4 Aug 2020 08:52:11 -0400
Subject: [PATCH] Export to Excel Patch

Signed-off-by: Kevin Cristiano <kcristiano@kcristiano.com>
---
 civicrm/CRM/Report/Form.php | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/civicrm/CRM/Report/Form.php b/civicrm/CRM/Report/Form.php
index 0768843c5e..3690f84c8c 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);
-- 
GitLab