XLSX.js is a JavaScript library for converting the data in base64 XLSX files into JavaScript objects - and back! Please note that this library is licensed under the Microsoft Office Extensible File License - a license NOT approved by the OSI. While this license is based off of the MS-PL, which is OSI-approved, there are significant differences.
I noticed that the library only outputs column widths if autowidth is set for the column, and ignores any auto calculated widths. This fixes that issue by always writing the column, and also gives the user greater control by allowing an optional cell width property. Also added a wrapText (boolean) cell property to support cell text wrapping.
Added table options, worksheet.table can still be specified as boolean, or object with optionional topLeftRow, topLeftColumn, style, stripeColumns and stripRows properties (for example for a table starting at A3 rather than A1, {topLeftRow: 3, topLeftColumn:0, style:'tableStyleNone'}
Added support for background fill via backgroundColor property
Added support for font color via the fontColor property
Fixed bug with string detection, " " was not detected as a string (isFinite returned true)
I noticed that the library only outputs column widths if autowidth is set for the column, and ignores any auto calculated widths. This fixes that issue by always writing the column, and also gives the user greater control by allowing an optional cell width property. Also added a wrapText (boolean) cell property to support cell text wrapping. Added table options, worksheet.table can still be specified as boolean, or object with optionional topLeftRow, topLeftColumn, style, stripeColumns and stripRows properties (for example for a table starting at A3 rather than A1, {topLeftRow: 3, topLeftColumn:0, style:'tableStyleNone'} Added support for background fill via backgroundColor property Added support for font color via the fontColor property Fixed bug with string detection, " " was not detected as a string (isFinite returned true)