Frameworks and Bundlers
Each standalone release package is available at https://cdn.sheetjs.com/. 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
- pnpm
- Yarn
npm i --save https://cdn.sheetjs.com/xlsx-0.19.3/xlsx-0.19.3.tgz
pnpm install https://cdn.sheetjs.com/xlsx-0.19.3/xlsx-0.19.3.tgz
yarn add https://cdn.sheetjs.com/xlsx-0.19.3/xlsx-0.19.3.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
https://cdn.sheetjs.com/ is the authoritative source for SheetJS scripts.
For existing projects, the easiest approach is to uninstall and reinstall:
- npm
- pnpm
- Yarn
npm rm --save xlsx
npm i --save https://cdn.sheetjs.com/xlsx-0.19.3/xlsx-0.19.3.tgz
pnpm rm xlsx
pnpm install https://cdn.sheetjs.com/xlsx-0.19.3/xlsx-0.19.3.tgz
yarn remove xlsx
yarn add https://cdn.sheetjs.com/xlsx-0.19.3/xlsx-0.19.3.tgz
When the xlsx
library is a dependency of a dependency, the overrides
field
in package.json
can control module resolution:
{
"overrides": {
"xlsx": "https://cdn.sheetjs.com/xlsx-0.19.3/xlsx-0.19.3.tgz"
}
}
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';
set_cptable(cptable);