4.8 KiB
pagination_prev | pagination_next | sidebar_position | sidebar_custom_props | ||
---|---|---|---|---|---|
getting-started/index | getting-started/example | 2 |
|
import current from '/version.js'; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import CodeBlock from '@theme/CodeBlock';
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.
https://cdn.sheetjs.com/xlsx-{current}/xlsx-{current}.tgz is the URL for version {current}
Installation
Tarballs can be directly installed using a package manager:
{`\ npm i --save https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz`} {`\ pnpm install https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz`} {`\ yarn add https://cdn.sheetjs.com/xlsx-${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 tools.
:::tip pass
Watch the repo or subscribe to the RSS feed to be notified when new versions are released!
:::
:::warning
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 rm --save xlsx npm i --save https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz`} {`\ pnpm rm xlsx pnpm install https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz`} {`\ yarn remove xlsx yarn add https://cdn.sheetjs.com/xlsx-${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": "https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz" } // highlight-end }
}
:::
Vendoring
For general stability, "vendoring" modules is the recommended approach:
1) Download the tarball (xlsx-{current}.tgz
) for the desired version. The current
version is available at https://cdn.sheetjs.com/xlsx-{current}/xlsx-{current}.tgz
-
Create a
vendor
subfolder at the root of your project and move the tarball to that folder. Add it to your project repository. -
Install the tarball using a package manager:
The package will be installed and accessible as xlsx
.
Usage
With most frameworks and bundler tools, named imports are recommended:
import { read, utils } from 'xlsx';
Some legacy bundlers require the glob import:
import * as XLSX from 'xlsx';
const { read, utils } = XLSX;
For legacy bundlers that support CommonJS, require
will work:
var XLSX = require("xlsx");
var read = XLSX.read, utils = XLSX.utils;
The "Bundlers" demo includes examples for specific tools.
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);