The reason to write to a file is the reduced memory consumption.
However, the zip file is usually very much smaller than the amount of RAM you would need to open the entire workbook with POI.
So if you gave the option not to write the temp file but instead save it into RAM as a byte array, you would have more memory usage than today, but still much less than standard POI.
That, of course, should be optional and would allow working in environments where writing files is forbidden.
The reason to write to a file is the reduced memory consumption. However, the zip file is usually very much smaller than the amount of RAM you would need to open the entire workbook with POI. So if you gave the option not to write the temp file but instead save it into RAM as a byte array, you would have more memory usage than today, but still much less than standard POI. That, of course, should be optional and would allow working in environments where writing files is forbidden.