Esta página se muestra en inglés. Una traducción al español está en curso.
ScriptsMay 16, 2026·3 min de lectura

ExcelJS — Read, Write, and Stream Excel Spreadsheets in Node.js

A full-featured library for creating, reading, and manipulating XLSX and CSV files in Node.js with streaming support for large datasets.

Listo para agents

Este activo puede ser leído e instalado directamente por agents

TokRepo expone un comando CLI universal, contrato de instalación, metadata JSON, plan según adaptador y contenido raw para que los agents evalúen compatibilidad, riesgo y próximos pasos.

Native · 98/100Política: permitir
Superficie agent
Cualquier agent MCP/CLI
Tipo
Skill
Instalación
Single
Confianza
Confianza: Established
Entrada
ExcelJS Overview
Comando CLI universal
npx tokrepo install cc9ce2fb-50fe-11f1-9bc6-00163e2b0d79

Introduction

ExcelJS provides a complete API for generating and parsing Excel files in Node.js without requiring Microsoft Office. It supports rich formatting, formulas, images, charts metadata, and streaming — making it suitable for server-side report generation and ETL pipelines that handle millions of rows.

What ExcelJS Does

  • Creates XLSX workbooks with multiple sheets, cell styles, merged cells, and conditional formatting
  • Reads existing XLSX files preserving formulas, data validations, and defined names
  • Streams rows to disk or HTTP responses for memory-efficient export of large datasets
  • Supports CSV reading and writing with configurable delimiters and encoding
  • Handles rich cell types including dates, hyperlinks, rich text, and images

Architecture Overview

ExcelJS models workbooks as in-memory object graphs of worksheets, rows, and cells. The XLSX serializer uses a streaming XML writer (SAX-style) that flushes sheet data in chunks, preventing memory exhaustion on large exports. For reading, it provides both a full-parse mode (entire workbook in memory) and a streaming reader that emits row events, suitable for processing files that exceed available RAM.

Self-Hosting & Configuration

  • Install from npm — pure JavaScript, no native bindings required
  • Use workbook.xlsx.writeFile(path) for disk output or workbook.xlsx.write(stream) for HTTP responses
  • Enable streaming writes via new ExcelJS.stream.xlsx.WorkbookWriter({ stream }) for constant-memory exports
  • Configure default column widths, row heights, and page setup (orientation, margins) per worksheet
  • Set number formats, fonts, borders, and fills at the cell or column level

Key Features

  • Streaming writer keeps memory flat regardless of row count — tested with 1M+ rows
  • Full style support: fonts, fills, borders, alignment, number formats, and conditional formatting
  • Data validation rules (dropdowns, numeric ranges) embedded directly in cells
  • Auto-filter and freeze-pane support for user-friendly spreadsheets
  • Over 15,000 GitHub stars and 4 million weekly npm downloads

Comparison with Similar Tools

  • SheetJS (xlsx) — broader format support (XLS, ODS); ExcelJS offers richer styling and streaming writes
  • openpyxl (Python) — Python equivalent; ExcelJS is the Node.js counterpart with similar capabilities
  • Apache POI (Java) — enterprise-grade but JVM-only; ExcelJS runs anywhere Node.js does
  • csv-parser — CSV-only streaming reader; ExcelJS handles both XLSX and CSV in one library
  • json2csv — converts JSON to CSV; ExcelJS produces formatted Excel files with charts and styles

FAQ

Q: Can ExcelJS handle files with 100K+ rows? A: Yes. Use the streaming WorkbookWriter for writing and the streaming reader for parsing to maintain constant memory usage.

Q: Does it support Excel formulas? A: Yes. You can set formula strings on cells. Results are calculated by Excel when the file is opened, not by ExcelJS itself.

Q: Can I add images to spreadsheets? A: Yes. Use worksheet.addImage() with a buffer or file path. Supported formats include PNG, JPEG, and GIF.

Q: Is it compatible with LibreOffice and Google Sheets? A: The generated XLSX files conform to the Open XML standard and open correctly in LibreOffice Calc and Google Sheets.

Sources

Discusión

Inicia sesión para unirte a la discusión.
Aún no hay comentarios. Sé el primero en compartir tus ideas.

Activos relacionados