We use jszip for parsing xlsx/xlsm/xlsb files in the browser (Excel 2007+ files are zip files that contain XML or binary files in specific locations): https://github.com/SheetJS/js-xlsx
JSZip works well for small files, but unzipping XLSB files larger than 50M seem to cause out of memory issues in Firefox
This project is great, because it's something I never envisioned for the library!
You may want to take a look at the master branch, because we've recently updated our inflate/deflate implementation to use the much faster Pako, https://github.com/nodeca/pako
When we first evaluated options, zip.js only supported IE9+ (and IE6-8 were still relevant browsers) while JSZip supports IE6+. In fact, the Base64 text box was introduced in http://oss.sheetjs.com/js-xlsx/ specifically to test IE6-9 (which do not support the HTML5 File API)
JSZip works well for small files, but unzipping XLSB files larger than 50M seem to cause out of memory issues in Firefox