2023-05-07 09:58:36 -04:00

3.1 KiB

pagination_prev pagination_next sidebar_position sidebar_custom_props
getting-started/index getting-started/example 2
Angular, React, VueJS, Webpack, etc.

import current from '/version.js'; import CodeBlock from '@theme/CodeBlock';

Frameworks and Bundlers

import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';

Each standalone release package is available at The NodeJS package is designed to be used with frameworks and bundlers. It is a proper ECMAScript Module release which can be optimized with developer tools.

{`\ npm i --save${current}/xlsx-${current}.tgz`} {`\ pnpm install${current}/xlsx-${current}.tgz`} {`\ yarn add${current}/xlsx-${current}.tgz`}

Once installed, the library can be imported under the name xlsx:

import { read, writeFileXLSX } from "xlsx";

The "Bundlers" demo includes examples for specific bundler tools.


Watch the repo or subscribe to the RSS feed to be notified when new versions are released!



Older releases are technically available on the public npm registry as xlsx, but the registry is out of date. The latest version on that registry is 0.18.5

This is a known registry bug is the authoritative source for SheetJS scripts.

For existing projects, the easiest approach is to uninstall and reinstall:

{`\ npm rm --save xlsx npm i --save${current}/xlsx-${current}.tgz`} {`\ pnpm rm xlsx pnpm install${current}/xlsx-${current}.tgz`} {`\ yarn remove xlsx yarn add${current}/xlsx-${current}.tgz`}

When the xlsx library is a dependency of a dependency, the overrides field in package.json can control module resolution:

{\ { // highlight-start "overrides": { "xlsx": "${current}/xlsx-${current}.tgz" } // highlight-end }}


Encoding support

If Encoding support is required, cpexcel.full.mjs must be manually imported:

/* load the codepage support library for extended support with older formats  */
import { set_cptable } from "xlsx";
import * as cptable from 'xlsx/dist/cpexcel.full.mjs';