Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Node.js
  3. xlsx-populate

xlsx-populate

MITJavaScriptv1.19.1

A JavaScript library for parsing and generating Excel XLSX files with Node.js and browser support, preserving existing styles and features.

GitHubGitHub
999 stars197 forks0 contributors

What is xlsx-populate?

xlsx-populate is a JavaScript library for parsing, generating, and manipulating Excel XLSX files. It allows developers to programmatically read and write spreadsheet data, apply formatting, manage sheets, and handle encryption, all while preserving existing workbook structures and styles. It solves the problem of automating Excel file interactions without losing original content.

Target Audience

JavaScript developers working in Node.js or browser environments who need to automate Excel file processing, generate reports, or build spreadsheet-driven applications without relying on external Excel installations.

Value Proposition

Developers choose xlsx-populate for its focus on preserving existing workbook features, its fluent API with method chaining, and its support for both Node.js and browsers. Unlike some libraries, it maintains all original styles and content, even for unsupported features, ensuring file integrity.

Overview

Excel XLSX parser/generator written in JavaScript with Node.js and browser support, jQuery/d3-style method chaining, encryption, and a focus on keeping existing workbook features and styles in tact.

Use Cases

Best For

  • Generating Excel reports from web applications
  • Parsing and extracting data from existing XLSX templates
  • Automating spreadsheet manipulation in Node.js scripts
  • Building browser-based Excel file editors or viewers
  • Applying bulk formatting or data validation to workbooks
  • Creating password-protected Excel files programmatically

Not Ideal For

  • Applications requiring real-time Excel formula calculation or evaluation
  • High-performance processing of very large Excel files where speed is critical
  • Projects that depend on advanced Excel features like charts, pivot tables, or macros
  • Legacy browser environments without ES6 support, especially where encryption is needed

Pros & Cons

Pros

XML-Based Integrity

Manipulates XLSX files at the XML level, preserving all original content and styles even for unsupported features, ensuring no data loss during edits as stated in the philosophy section.

Fluent Method Chaining

Uses a jQuery/d3-style API for concise and readable code, demonstrated in examples like workbook.sheet(0).cell('A1').value('foo').style('bold', true).

Cross-Platform Compatibility

Runs in both Node.js and modern browsers, with built-in examples for Express serving and browser-based file handling, including encryption support.

Comprehensive Styling

Supports a wide range of formatting options including rich text, borders, fills, and data validation, detailed in the extensive style reference of the README.

Cons

No Formula Recalculation

Does not recalculate cell values based on formulas; only reads stored calculated values, which limits dynamic spreadsheet functionality as admitted in the parsing data section.

Incomplete Feature Coverage

The library openly acknowledges missing many XLSX format features in the 'Missing Features' section, which can block complex Excel operations.

Browser Performance Issues

Encryption and decryption in browsers are notably slow, particularly in Internet Explorer, affecting user experience for web applications as warned in the encryption section.

Frequently Asked Questions

Quick Stats

Stars999
Forks197
Contributors0
Open Issues125
Last commit2 years ago
CreatedSince 2015

Tags

#spreadsheet#office-automation#nodejs#data-generation#javascript#data-parsing#browser#excel#xlsx

Built With

J
JavaScript
B
Babelify
B
Browserify
N
Node.js

Included in

Node.js65.5k
Auto-fetched 1 day ago

Related Projects

markdown-itmarkdown-it

Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed

Stars21,440
Forks1,818
Last commit1 month ago
remarkremark

markdown processor powered by plugins part of the @unifiedjs collective

Stars8,878
Forks374
Last commit2 months ago
@parcel/css@parcel/css

An extremely fast CSS parser, transformer, bundler, and minifier written in Rust.

Stars7,528
Forks268
Last commit2 months ago
js-yamljs-yaml

JavaScript YAML parser and dumper. Very fast.

Stars6,576
Forks809
Last commit17 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub