Gathering detailed insights and metrics for excel-builder-vanilla
Gathering detailed insights and metrics for excel-builder-vanilla
Gathering detailed insights and metrics for excel-builder-vanilla
Gathering detailed insights and metrics for excel-builder-vanilla
npm install excel-builder-vanilla
Typescript
Module System
Node Version
NPM Version
TypeScript (79.31%)
HTML (18.07%)
SCSS (2.44%)
JavaScript (0.18%)
Total Downloads
0
Last Day
0
Last Week
0
Last Month
0
Last Year
0
NOASSERTION License
12 Stars
416 Commits
2 Forks
2 Watchers
2 Branches
2 Contributors
Updated on Jul 09, 2025
Latest Version
4.0.1
Package Id
excel-builder-vanilla@4.0.1
Unpacked Size
538.75 kB
Size
133.05 kB
File Count
38
NPM Version
lerna/4.0.0/node@v20.19.0+x64 (linux)
Node Version
20.19.0
Published on
Apr 21, 2025
Cumulative downloads
Total Downloads
Last Day
0%
NaN
Compared to previous day
Last Week
0%
NaN
Compared to previous week
Last Month
0%
NaN
Compared to previous month
Last Year
0%
NaN
Compared to previous year
1
📘 Documentation website powered by GitBook (previous project docs were pulled from web archive)
This lib allows you to build and write an Excel file dynamically, it does not include any reader capabilities making the library super lightweight for its main goal of strictly exporting to Excel.
This project was originally created by Stephen Liberty, excel-builder-vanilla
is a fork of the original excel-builder.js project that Stephen created. Thanks to him for this great library.
Excel-buider-vanilla is at the minimum 8x times smaller than the most popular libraries (we used Bundlephobia
to compare), excel-builder-vanilla is 16.5Kb gzip while XLSX is 136Kb and ExcelJS is 251Kb gzip. The reason as to why it's much smaller is very simple and relates to these 2 major differences:
Visit the Live demo to get started and see all available options and methods that the library offers (all the demos are WYSIWYG (what you is what you'll get, UI vs Export)).
You can also take a look at the "Used by" section below to see real world applications taking advantage of this library.
1npm install excel-builder-vanilla
The project offers 3 different build types, choose the best one depending on your use case
import from
(preferred)ExcelBuilder
on the window
object1// ESM (preferred) - npm install 2import { createWorksheet } from 'excel-builder-vanilla'; 3 4// IIFE - CDN 5<script src="https://cdn.jsdelivr.net/npm/excel-builder-vanilla@4.0.1/dist/excel-builder.iife.js"></script> 6<script> 7 const worksheet = ExcelBuilder.createWorksheet(); // or window.ExcelBuilder.createWorksheet(); 8</script>
Please note that since we use fflate
(which creates and compresses the Excel file before sending it to the browser), you might get some CSP errors because of its use of Web Workers. For that reason, you might need to adjust your CSP rules by adding worker-src 'self' blob:;
1<meta http-equiv="Content-Security-Policy" 2 content="default-src 'self'; 3 worker-src 'self' blob:;" />
1import { Workbook, downloadExcelFile } from 'excel-builder-vanilla'; 2 3const originalData = [ 4 ['Artist', 'Album', 'Price'], 5 ['Buckethead', 'Albino Slug', 8.99], 6 ['Buckethead', 'Electric Tears', 13.99], 7 ['Buckethead', 'Colma', 11.34], 8]; 9const artistWorkbook = new Workbook(); 10const albumList = artistWorkbook.createWorksheet({ name: 'Artists' }); 11albumList.setData(originalData); 12artistWorkbook.addWorksheet(albumList); 13 14downloadExcelFile(artistWorkbook, 'Artist WB.xlsx');
Excel-Builder-Vanilla is a fork of the popular excel-builder.js project (thanks to @stephenliberty for this great library). The main goal of creating this fork was to modernize the project by removing old dependencies that are no longer necessary and also replace JSZip
by fflate
which provides an ESM build and is indirectly giving us better Tree Shaking. The other goal was also to provide an ESM build
The modernization steps:
d.ts
)Q
dependency (we now simply use native Promise
)Lodash
dependency (we now use native JS code)JSZip
dependency with fflate
which has an ESM build and offers better performance.v3.0.0
as a major
release (the original project version was in the 2.x
range.)
v3.0.0
The project now requires only 1 small dependency which is fflate.
This modernization is providing a huge decrease in the final build size, with only 1 dependency, and also offers better performance 🚀
This fork was created mostly to support Tree Shaking (ESM), to provide TS Types and finally to update all project dependencies. It is used by a few other Open Source libraries that I also maintain and require Excel export:
Pull Request are welcome, feel free to contribute.
If you wish to contribute to the project, please follow the steps below:
Note: this project uses pnpm workspaces, you can install pnpm by following their installation or use NodeJS corepack enable
to run any of the pnpm scripts shown below:
git clone https://github.com/ghiscoding/excel-builder-vanilla
pnpm install
OR npx pnpm install
pnpm run build
OR npx pnpm run build
pnpm run dev
OR npx pnpm run dev
Before submitting a PR (pull request), please make sure that you followed these steps for a better chance of a successfull PR:
pnpm install
pnpm run biome:lint:write
pnpm run biome:format:write
pnpm run build
Package Name | NPM downloads | Size (gzip) | Changes | Description |
---|---|---|---|---|
excel-builder-vanilla | changelog | excel-builder-vanilla library package | ||
excel-builder-vanilla-types | changelog | excel-builder-vanilla dts types only package. |
No vulnerabilities found.
No security vulnerabilities found.