We need to parse an Excel file on the client to get its headers before uploading the file. There are a few hacks along the way to get everything to work just right. Here's how we do it.
Here's one of the libraries: https://github.com/SheetJS/js-xls