protobi / js-xlsx

XLSX / XLSM / XLSB (Excel 2007+ Spreadsheet) / ODS parser and writer
http://oss.sheetjs.com/js-xlsx
Other
814 stars 416 forks source link

Is this project still maintained? #90

Open ffissore opened 6 years ago

ffissore commented 6 years ago

I need some features from upstream version, but I also need styling

mellis3 commented 6 years ago

I'd like to know that also, doesn't look like any updates have been made in a while.

pietersv commented 6 years ago

Very reasonable question. It's very actively used (we use it in production) but not very actively extended. The simple issue is we're reluctant to introduce potentially breaking changes as it works now and the test suite no longer does.

The original goal of this branch was just to contribute styles into the main branch where it could exist and progress with the rest of the project's many awesome features.

Since then (a) Node.js progressed from 0.12 to 2.0 which presented many breaking changes that prevent the entire test suite from running, and (b) SheetJS launched a different private commercially licensed version (with which we're not involved) with styles and other features like charts.

This fork has since received lots of great PRs and issue reports. The challenge is that it's hard to verify PRs with the test suite not passing. And many of the PRs is they directly edit the xlsx.js file rather than the constituent bits.

For us to staff a desk to actively maintain and support this branch -- to review issues and PRs, incorporate changes, run tests, debug, document, release, and support -- I think would mean budgeting a developer for 20 days per year.

Normally making a business case for that is not so high a hurdle in other applications but in this case, SheetJS commercial license is a wrinkle as there's already an available alternative.

Is the commercial version of SheetJS useful? Generating Excel seems more for work than hobby, so most applications have budgets and the cost of SheetJS PRO would likely be very reasonable.

Alternatively, does there exist another public fork of this fork that passes the test suite in a recent version of Node? That would make it way easier to extend.

See also https://github.com/protobi/js-xlsx/issues/21

pietersv commented 6 years ago

We do actively maintain a fork of msexcel-builder (https://github.com/protobi/msexcel-builder) which is a lightweight alternative for applications that just need to generate not read XLSX files.

mellis3 commented 6 years ago

@pietersv you make good points. I'll checkout msexcel-builder as you suggested. I only need to output data to excel, no need to read so the lightweight version sounds good.

Thanks for responding quickly.

zackerydev commented 6 years ago

@pietersv I (along with others) have been inquiring for a few weeks about this commercial version of SheetJS. You can find that here: https://github.com/SheetJS/js-xlsx/issues/859 Interestingly enough the developer hasn't responded to that thread despite replying to issues created after. So as of now this commercial version does not exist, as I haven't heard of anyone that actually has a version of js-xlsx that actually has styles among other things.

With that in mind I think this library has a great potential that can't be found elsewhere.

kayakyakr commented 6 years ago

I'm currently evaluating making a switch to https://github.com/guyonroche/exceljs which seems to have a complete API and is actively maintained.

pietersv commented 6 years ago

@st-sloth thanks for the research on other active branches. @xSirrioNx - awesome work merging branches to create a new leading edge. Does the new fork pass the test suite?

pietersv commented 6 years ago

This repo was meant as a temporary branch to SheetJS/js-xlsx. At the time of the last major commit it passed the server- and browser test suites on Node 0.12.

However the tests do not pass on Node 4+. I'm generally reluctant to merge new code when the main branch doesn't pass the tests due to tales of elder programmers who broke this taboo.

Most PRs on this branch either don't include their own unit tests and/or make changes directly to xlsx.js which is generated by the Makefile rather than to the underlying source code in /bits.

Styles have since been independently integrated into SheetJS PRO version (we are not involved in that work). Given the number of issue and PR requests, we're evaluating whether it makes sense to resume active development of this branch. See issue #107

MatthewHerbst commented 5 years ago

@pietersv what were the survey results? :)