Exceljs
Excel Workbook Manager
Install / Use
/learn @exceljs/ExceljsREADME
ExcelJS
Read, manipulate and write spreadsheet data and styles to XLSX and JSON.
Reverse engineered from Excel spreadsheet files as a project.
Translations
Installation
npm install exceljs
New Features!
- Merged Add pivot table with limitations #2551. <br/> Many thanks to Protobi and <a href="https://github.com/mikez">Michael</a> for this contribution!
- Merged fix: styles rendering in case when "numFmt" is present in conditional formatting rules (resolves #1814) #1815. <br/> Many thanks to @andreykrupskii for this contribution!
- Merged inlineStr cell type support #1575 #1576. <br/> Many thanks to @drdmitry for this contribution!
- Merged Fix parsing of boolean attributes #1849. <br/> Many thanks to @bno1 for this contribution!
- Merged add optional custom auto-filter to table #1670. <br/> Many thanks to @thambley for this contribution!
- Merged Deep copy inherited style #1850. <br/> Many thanks to @ikzhr for this contribution!
- Merged Upgrade actions/cache and actions/setup-node #1846. <br/> Many thanks to @cclauss for this contribution!
- Merged Check object keys in isEqual #1831. <br/> Many thanks to @bno1 for this contribution!
- Merged Add v17 to testing workflow #1856. <br/> Many thanks to @Siemienik for this contribution!
- Merged Upgrade jszip to its latest version to date. This version does not have any vulnerability found by Snyk so far #1895. <br/> Many thanks to @ValerioSevilla for this contribution!
- Merged Update README.md #1677. <br/> Many thanks to @xjrcode for this contribution!
- Merged (docs): set prototype of RegExp correctly. #1700. <br/> Many thanks to @joeldenning for this contribution!
- Merged Added timeouts to github actions #1733. <br/> Many thanks to @alexbjorlig for this contribution!
- Merged fix issue 1676 #1701. <br/> Many thanks to @skypesky for this contribution!
- Merged ExcelJS/ExcelJS#2237 : Update CI Tests, Drop support for Node v8 #2242. <br/> Many thanks to @Siemienik for this contribution!
- Merged Fix types for getWorksheet() #2223. <br/> Many thanks to @hfhchan-plb for this contribution!
- Merged add characters cannot be used for worksheet name #2126. <br/> Many thanks to @tkm-kj for this contribution!
- Merged Fix issue #1753 Reject promise when workbook reader is writing to temporary file stream and error occurs #1756. <br/> Many thanks to @pauliusg for this contribution!
- Merged README.md to have correct link for Streaming XLSX #2186. <br/> Many thanks to @wulfsolter for this contribution!
- Merged Added a polyfill of promise.finally to support lower versions of Firefox. #1982. <br/> Many thanks to @DemoJj for this contribution!
- Merged Fix read this.worksheet before assign it #1934. <br/> Many thanks to @ZyqGitHub1 for this contribution!
- Merged chore: upgrade jszip to ^3.10.1 #2211. <br/> Many thanks to @jarrod-cocoon for this contribution!
- Merged fixed spelling error in README.md file #2208. <br/> Many thanks to @HugoP27 for this contribution!
- Merged fix: Fix xlsx.writeFile() not catching error when error occurs #2244. <br/> Many thanks to @zurmokeeper for this contribution!
- Merged Improve worksheets' naming validation logic. #2257. <br/> Many thanks to @Siemienik for this contribution!
- Merged fix issue 2125 - spliceRows remove last row #2140. <br/> Many thanks to @babu-ch for this contribution!
- Merged fix: fix the loss of column attributes due to incorrect column order #2222. <br/> Many thanks to @cpaiyueyue for this contribution!
- Merged Fix: Sheet Properties Types #2327. <br/> Many thanks to @albeniraouf for this contribution!
- Merged Use node 18 LTS for tsc, and benchmark. Add node 20. to test matrix. … #2354. <br/> Many thanks to @Siemienik for this contribution!
- Merged Add missing tooltip attribute to CellHyperlinkValue index.d.ts #2350. <br/> Many thanks to @NiklasPor for this contribution!
- Merged Increase resilience to generating large workbooks #2320. <br/> Many thanks to @hfhchan-plb for this contribution!
- Merged repair all 'c2fo.io' links ('c2fo.github.io') #2324. <br/> Many thanks to @justintunev7 for this contribution!
- Merged fix: fix type definitions about last column, formula values and protection #2309. <br/> Many thanks to @gltjk for this contribution!
- Merged fix: add spinCount field for WorksheetProtection type #2284. <br/> Many thanks to @damingerdai for this contribution!
- Merged Add type definition for WorksheetModel.merges #2281. <br/> Many thanks to @ytjmt for this contribution!
Contributions
Contributions are very welcome! It helps me know what features are desired or what bugs are causing the most pain.
I have just one request; If you submit a pull request for a bugfix, please add a unit-test or integration-test (in the spec folder) that catches the problem. Even a PR that just has a failing test is fine - I can analyse what the test is doing and fix the code from that.
Note: Please try to avoid modifying the package version in a PR. Versions are updated on release and any change will most likely result in merge collisions.
To be clear, all contributions added to this library will be included in the library's MIT licence.

