I'm getting a System.OutOfMemoryException when I attempt to open a large XLSX file (~150 megs).
The exception is thrown on the following line: [https://github.com/tonyqus/npoi/blob/master/ooxml/openxml4Net/Util/ZipInputStreamZipEntrySource.cs#L134](https://github.com/tonyqus/npoi/blob/master/ooxml/openxml4Net/Util/ZipInputStreamZipEntrySource.cs#L134)
I have done a little research and discovered that the issue is that each process has memory limitations and this is often hit when converting a large stream to an array of bytes. This is because memory is fragmented and there is no way to map it back or ensure that other blocks of memory are available. I believe this can possibly be solved by either passing references of the a stream or temporarily writing the decompressed data to disk. I have not tried either suggested solution.
[http://blogs.msdn.com/b/ericlippert/archive/2009/06/08/out-of-memory-does-not-refer-to-physical-memory.aspx](http://blogs.msdn.com/b/ericlippert/archive/2009/06/08/out-of-memory-does-not-refer-to-physical-memory.aspx)
The exception is thrown on the following line: [https://github.com/tonyqus/npoi/blob/master/ooxml/openxml4Net/Util/ZipInputStreamZipEntrySource.cs#L134](https://github.com/tonyqus/npoi/blob/master/ooxml/openxml4Net/Util/ZipInputStreamZipEntrySource.cs#L134)
I have done a little research and discovered that the issue is that each process has memory limitations and this is often hit when converting a large stream to an array of bytes. This is because memory is fragmented and there is no way to map it back or ensure that other blocks of memory are available. I believe this can possibly be solved by either passing references of the a stream or temporarily writing the decompressed data to disk. I have not tried either suggested solution.
[http://blogs.msdn.com/b/ericlippert/archive/2009/06/08/out-of-memory-does-not-refer-to-physical-memory.aspx](http://blogs.msdn.com/b/ericlippert/archive/2009/06/08/out-of-memory-does-not-refer-to-physical-memory.aspx)