docs.sheetjs.com/docz/docs/02-getting-started/01-installation/02-frameworks.md
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
summary
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 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 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 bundler tools.

:::info

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 }}

:::

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);