cfsimplicity / spreadsheet-cfml

Standalone library for working with spreadsheets and CSV in CFML
MIT License
127 stars 36 forks source link

Add (limited) support for streamed reading of large spreadsheets #296

Closed cfsimplicity closed 2 years ago

cfsimplicity commented 2 years ago

When POI reads spreadsheets, the entire data is stored in memory to allow random access to specific rows. Reading large files can therefore lead to out-of-memory exceptions.

POI does have a streaming API for reading XLSX but it is complex to use.

However, a third-party POI wrapper - excel-streaming-reader - now exists which makes this much easier.

Integrate this library and use it to support a new readLargeFile() method able to read large XLSX files with less likelihood of running out of memory.

Limitations