I'm currently creating generic spreadsheets in JS using https://www.npmjs.com/package/xlsx . This works fine to generate just a generic spreadsheet to display my data. However, I wanna add a few features.
https://i.sstatic.net/3qBc7.jpg is an example of what I want to achieve. It was created using Apache POI, which is only available for Java.
The features I want in that screenshot are
- The ability to add a picture (seen as a logo in the top-left)
- Ability to change font-color (as seen in the Title in the center)
- Ability to center-align text (as seen with the SubTitles in the center)
- Ability to make fields sortable (As seen with the arrow buttons per each column)
Seems like SheetJS can provide some of this functionality through their premium version. https://dzone.com/articles/5-popular-standalone-javascript-spreadhsheet-libra is a list of other libraries I looked into. However, that list seems more of emulating a spreadsheet with native JS objects as opposed to creating an .xlsx file. Also, most of them require paid licenses.
Anybody have experience with creating my 4 requirements with a free JS solution? I'm building on Meteor JS btw.
If not, are there any other workarounds to achieving this? I.e. Having the app just output a .csv, but then creating a generic excel "template" file which will do all the formatting with the csv? Or, delegating to some other program/script to generate the XLSX and downloading the output file.
Thanks