diff --git a/composer.json b/composer.json index f0a9a6577..d4786c558 100644 --- a/composer.json +++ b/composer.json @@ -22,7 +22,7 @@ "webit/eval-math" : "^1.0", "mustangostang/spyc": "0.5.*", "realityking/pchart": "dev-master", - "phpoffice/phpexcel": "~1.8", + "phpoffice/phpspreadsheet": "^1.17.0", "kriswallsmith/assetic": "~1.2", "lib-pcre" : ">=8.0", "net/http" : "^1.1", diff --git a/core/modules/search/Components.php b/core/modules/search/Components.php index ec14969e4..904532d3e 100644 --- a/core/modules/search/Components.php +++ b/core/modules/search/Components.php @@ -4,7 +4,8 @@ use thebuggenie\core\framework, thebuggenie\core\entities, - thebuggenie\core\entities\tables; + thebuggenie\core\entities\tables, + PhpOffice\PhpSpreadsheet\Spreadsheet; class Components extends framework\ActionComponent { @@ -120,15 +121,10 @@ public function componentResults_normal_sheet() { $this->custom_columns = entities\CustomDatatype::getAll(); $this->cc = (isset($this->cc)) ? $this->cc : 0; - require realpath(THEBUGGENIE_VENDOR_PATH) . DS . 'phpoffice' . DS . 'phpexcel' . DS . 'Classes' . DS . 'PHPExcel.php'; - $phpexcel = new \PHPExcel(); - foreach ($phpexcel->getAllSheets() as $index => $sheet) - { - $phpexcel->removeSheetByIndex($index); - } - - $this->phpexcel = $phpexcel; - $this->sheet = $phpexcel->createSheet(); + require realpath(THEBUGGENIE_VENDOR_PATH) . DS . 'phpoffice' . DS . 'phpspreadsheet' . DS . 'src' . DS . 'PhpSpreadsheet' . DS . 'Spreadsheet.php'; + $spreadsheet = new Spreadsheet(); + $this->spreadsheet = $spreadsheet; + $this->sheet = $spreadsheet->getActiveSheet(); } public function componentResults_todo() diff --git a/core/modules/search/templates/_results_normal_sheet.inc.php b/core/modules/search/templates/_results_normal_sheet.inc.php index c5b233bb6..fda5a7289 100755 --- a/core/modules/search/templates/_results_normal_sheet.inc.php +++ b/core/modules/search/templates/_results_normal_sheet.inc.php @@ -143,15 +143,15 @@ switch ($format) { case 'xlsx': - $objWriter = new \PHPExcel_Writer_Excel2007($phpexcel); + $objWriter = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="issues.xlsx"'); break; case 'ods': default: + $objWriter = new \PhpOffice\PhpSpreadsheet\Writer\Ods($spreadsheet); header('Content-Type: application/vnd.oasis.opendocument.spreadsheet'); header('Content-Disposition: attachment;filename="issues.ods"'); - $objWriter = new \PHPExcel_Writer_OpenDocument($phpexcel); } header('Cache-Control: max-age=0');