I wonder that even in the worst case PHP only allocated less than 150MB and then failed, this is not quite a limit for a 32bit environment, which is restricted to 4096MB and each thread (process) is restricted to 2048MB - both by far more than only 150MB. In some case it already fails far earlier after only allocating 2MB.
This looks like a very bad memory management in PHPExcel and I also found many forums and postings in the internet, which also tells about these kind of problems with PHPExcel. I am not sure if a 64bit environment would help to solve the problem, as it is also reported that PDFExcel also has big runtime problems, it takes too long for large excel spreadsheets.
Here
http://stackoverflow.com/questions/4817 ... 4mb-of-ram a few alternative libraries are recommended, you may try to adapt your scripts to these libraries. Or try to run your code on an Linux 64bit environment, there is a 64bit Xampp as well, but as i told before, i am unsure if 64bit really helps in this case. All in all the PDFExcel API seems to waist ressources in a very bad way.