As any frontend developer would know, when it comes to creating files (images/pdf/excel etc) client side, water gets really murky. I went through a variety of libraries before getting to my desired implementation. This was somewhat painful.
I first looked into exceljs. With over 3k stars on github this is a pretty popular library to generate excel with node. Upon reading the documentation and going through issues I realized that it is really meant as a server side node library.
I thought about creating a cloud function to generate the file serverside but ended up rejecting the idea. All the data I need in the file is already on the client. I wanted to take advantage of that and there must be a library that can create the file client side? I also recall having done this in the past so I had to move on with my search.
I remembered that I had used js-xlsx in the past to generate excel files client side. So I decided to give this library a try. It has a decent learning curve so took me about 4-5 hours to get a proper excel file export feature implemented. I had left the easy bit (styling) for the end, taking that for granted - big mistake.
js-xlsx’s styling capabilities are hidden behind a paywall. Needless to say I was pretty disappointed. Should I just email the creators and pay? But my styling needs were very simplistic I didn’t want to pay just to make some text bold. On the other hand, I didn’t want to waste the amount of effort I had already invested. Decisions Decisions!
xlsx-populate - the savior
I decided to give xlsx-populate a shot based on a few recommendation on forums. Since I had already done the work of fetching the data and formatting it the right way, it made the switch simply a function of me understanding the library.
I would recommend xlsx-populate without hesitation. The d3 like syntax is an absolute pleasure to work with. It also supports proper styling and formatting to get the look and feel you want.
I need to polish the sidebar a bit Project summary needs to be populated Ability to assign colors to users/stakeholders figure out how to do stakeholder findings Offline capable add description to sitemap nodes Need to add several hooks for synthesis events Export for question & answers
- Export Synthesis?
- Security rules
- Export for sitemaps
- Landing page
- Beta terms
Contact Dean- No Response Contact Terran Contact Rebecca round 2 Interview Terran
- Interview Juliana (scheduled for Friday)
- Get Rebecca on-boarded (scheduled for Sunday)