When using the excel2007 reader with many named ranges and multiple sheets, it takes longer then an hour to read the file.
I believe that the problem is that setTitle() is called twice per sheet when reading, and this call, calls the following function which iterates through each worksheet and every cell.
//PHPExcel_ReferenceHelper::getInstance()->updateNamedFormulas($this->getParent(), $oldTitle, $newTitle);
When loading the excel file, I don;t think that we need to call this function since all the named ranges should be correct, and we should only have to update the named ranges when we actually really change the name of a worksheet using PHPExcel.
My templates were taking over 80 minutes to load, and when I commented out the line above, it can read the template super fast again.
I did run across one issue though that I am not sure if it is related. In worksheet.php, getCell calls extractSheetTitle if it is a worksheet reference. extractSheetTitle returns 'Main Filtered' but the actual sheet name is Main Filtered. So getSheetByName
fails since there is no sheet called 'Main Filtered' only Main Filtered.
extractSheetTitle has //$reference = str_replace("'", "", $reference); commented out since it would not work for names such as Frank's sheet.
I fixed my problem by modifying PHPExcel.php modifying getSheetByName to also chec
if ($this->_workSheetCollection[$i]->getTitle() == $pName || "'" . $this->_workSheetCollection[$i]->getTitle() . "'" == $pName)