On this page
Overview
ExcelJS is a JavaScript library for creating, reading, and editing Excel workbooks. It exposes worksheets, cells, styles, page setup, validation, images, XLSX/CSV I/O, and streaming APIs for larger workbook workflows.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Build workbooks and worksheets from JavaScript
Create a Workbook, add worksheets, and populate rows and cells while controlling styles, headers and footers, page setup, frozen views, and other document settings.
Sources: [2]
Read and write XLSX and CSV through files, streams, or buffers
The library supports XLSX and CSV I/O through multiple paths. In Node.js, workbook.xlsx.writeFile() writes files directly, and streaming reader/writer APIs are available for larger XLSX workloads.
Sources: [2]
Best fit
Fits reporting and spreadsheet import/export in JavaScript applications
It is useful for generating business reports, modifying existing workbooks, and moving application data between CSV, XLSX, and JavaScript data structures.
Sources: [2]
Before adoption
Choose I/O paths according to Node.js or browser runtime
Filesystem-based readFile and writeFile APIs are Node.js workflows. Browser applications need supported bundle and buffer-based paths and should verify the APIs required by the target runtime.
Sources: [2]
Official sources
- [1]exceljs/exceljs repository(2026-09-30)
- [2]ExcelJS README(2026-09-30)
- [3]ExcelJS v4.4.0 release(2026-09-30)
- [4]ExcelJS MIT license(2026-09-30)
Supplemental curator note
ExcelJS works for both generating reports and modifying existing spreadsheets. Because v4.4.0 remains the latest stable release, verify README features against the pinned application version rather than assuming current master behavior.
Try it in 3 steps
- 1
Install ExcelJS
Add ExcelJS to a Node.js project using the installation command from the README.
npm install exceljs - 2
Create a workbook and worksheet
Create a minimal workbook and add one worksheet.
const ExcelJS = require('exceljs'); const workbook = new ExcelJS.Workbook(); const sheet = workbook.addWorksheet('Sheet1'); - 3
Add a row and write an XLSX file
Populate the worksheet and write the workbook to the Node.js filesystem as XLSX.
sheet.addRow(['name', 'value']); await workbook.xlsx.writeFile('example.xlsx');
Growth
Growth trends · Last 30 days
15,483 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 0
- Open PRs
- 146
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- hacktoberfest
- xlsx
- xlsxwriter
- xlsxreader
- workbook
- worksheet
- csv
- streaming-workbook
- exceljs
- xlsx-workbook
- workbook-writer
- Stars
- 15,483
- Forks
- 2,051
- Watchers
- 185
- Open issues
- 663
- Contributors
- 169
- Owner type
- Organization
- Primary language
- JavaScript
- License
- MIT
- Repository last updated
- Jan 21, 2025
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- itsnotes34 Stars
2 shared tag(s) · Same language
Combine a Google Keep-style workflow with a two-way Markdown mirror, REST API, MCP, and self-hosted storage
JavaScript - Auth.js28,374 Stars
2 shared tag(s)
Compose OAuth/OIDC, passwordless, WebAuthn, and stateless or database-backed sessions from packages built around standard Web APIs
TypeScript - React250,821 Stars
1 shared tag(s) · 1 shared category(s) · Same language
build web and native interfaces from declarative components
JavaScript - Svelte88,230 Stars
1 shared tag(s) · 1 shared category(s) · Same language
compile components into efficient JavaScript and express reactive UI through runes
JavaScript - PDF.js53,957 Stars
1 shared tag(s) · 1 shared category(s) · Same language
Parse PDFs in JavaScript and render them into viewers, Canvas, and text layers on the web
JavaScript - Prettier52,317 Stars
1 shared tag(s) · 1 shared category(s) · Same language
an opinionated formatter that parses code and reprints a consistent style
JavaScript
Report incorrect information
Tell us if any listing information is incorrect or outdated.