TheInformationLab / Tableau-Extension-ExportAll

Export Summary Data from a Tableau Dashboard to Excel
https://tableau-extension-exportall.infolab.vercel.app
GNU General Public License v3.0
46 stars 44 forks source link

Consider using StreamSaver.js instead of FileSaver.js #84

Open RowdyHowell opened 3 years ago

RowdyHowell commented 3 years ago

Many of these exports are large. Instead of creating the file in memory and then saving the file, it should be possible to stream the Excel blob to a file.

This library is similarly structured to FileServer.js and was built specifically because of RAM limitations of FileSaver.js. https://github.com/jimmywarting/StreamSaver.js

XLSX supports writing to a stream. https://github.com/SheetJS/sheetjs#streaming-write

In my testing of large files, they crash in the XLSX.write(...) function. I believe the stream version will bypass this issue.

Is this under consideration? Are y'all taking PRs?

bibliophilesin commented 2 years ago

Hi. Would you have a sample code of how to use streamsaver with xlsx in angular? Thanks. my file saver does not work with large files. I get json from my backend