stephen-hardy / xlsx.js

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.
http://blog.innovatejs.com/?tag=xlsx-js
Other
575 stars 122 forks source link

Improved unescaping of XML #34

Closed grassick closed 9 years ago

grassick commented 10 years ago

Added escaping of \n and apostrophe which LibreOffice at least generates.

grassick commented 9 years ago

This is a problematic one. Would you consider letting me publish the official xlsx.js if you're too busy with other projects?

stephen-hardy commented 9 years ago

Yes, thank you! I originally published XLSX.js to open the idea behind it to the world, but my continuing work on it was not sponsored by Microsoft. My internal use of it diminished, because my day to day work moved more toward projects that did not require Excel export. That left only my personal time to work on it, of which there has been little.

I'm glad to see that the idea behind XLSX.js inspired niggler to create Sheet.js. I knew the license would be problematic for some, but I was given no option if it was to be open sourced. My hope was that if indeed XLSX.js could not be used by some, it would inspire something that could. So, mission accomplished!

I welcome someone who has more time to look after this project than I. I've not added an active contributor to a project before, but it seems like your contributions on other projects are solid. I very much appreciate your interest.

My vision, for what it is worth, is for XLSX.js to stay very lean, stable, and fast. I don't usually like libraries that provide everything but the kitchen sync. Especially for exporting to Excel, I think there are a lot of scenarios that require a very simple data dump. That's not to say XLSX.js couldn't use more features, it likely could. But, I would think a plugin interface would be a more appropriate way to address edge cases. Just my two cents as you publish going forward.

Thanks, Stephen