2022-05-16 03:26:04 +00:00
|
|
|
---
|
2022-08-24 23:48:22 +00:00
|
|
|
pagination_prev: getting-started/index
|
|
|
|
pagination_next: getting-started/example
|
2022-05-16 03:26:04 +00:00
|
|
|
sidebar_position: 2
|
|
|
|
sidebar_custom_props:
|
|
|
|
summary: Angular, React, VueJS, Webpack, etc.
|
|
|
|
---
|
|
|
|
|
|
|
|
import current from '/version.js';
|
2023-04-29 11:21:37 +00:00
|
|
|
import CodeBlock from '@theme/CodeBlock';
|
2022-05-16 03:26:04 +00:00
|
|
|
|
|
|
|
# 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.
|
|
|
|
|
|
|
|
<Tabs>
|
|
|
|
<TabItem value="npm" label="npm">
|
|
|
|
<pre><code parentName="pre" {...{"className": "language-bash"}}>{`\
|
2022-08-07 07:48:40 +00:00
|
|
|
npm i --save https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz`}
|
2022-05-16 03:26:04 +00:00
|
|
|
</code></pre>
|
|
|
|
</TabItem>
|
|
|
|
<TabItem value="pnpm" label="pnpm">
|
|
|
|
<pre><code parentName="pre" {...{"className": "language-bash"}}>{`\
|
2022-08-07 07:48:40 +00:00
|
|
|
pnpm install https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz`}
|
2022-05-16 03:26:04 +00:00
|
|
|
</code></pre>
|
|
|
|
</TabItem>
|
|
|
|
<TabItem value="yarn" label="Yarn" default>
|
|
|
|
<pre><code parentName="pre" {...{"className": "language-bash"}}>{`\
|
2022-08-07 07:48:40 +00:00
|
|
|
yarn add https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz`}
|
2022-05-16 03:26:04 +00:00
|
|
|
</code></pre>
|
|
|
|
</TabItem>
|
|
|
|
</Tabs>
|
|
|
|
|
|
|
|
Once installed, the library can be imported under the name `xlsx`:
|
|
|
|
|
|
|
|
```js
|
|
|
|
import { read, writeFileXLSX } from "xlsx";
|
|
|
|
```
|
|
|
|
|
2022-10-30 05:45:37 +00:00
|
|
|
The ["Bundlers" demo](/docs/demos/bundler) includes examples for specific
|
2022-08-13 22:01:26 +00:00
|
|
|
bundler tools.
|
|
|
|
|
2023-04-27 09:12:19 +00:00
|
|
|
:::info
|
|
|
|
|
|
|
|
[Watch the repo](https://git.sheetjs.com/SheetJS/sheetjs) or subscribe to the
|
|
|
|
[RSS feed](https://git.sheetjs.com/sheetjs/sheetjs/tags.rss) to be notified when
|
|
|
|
new versions are released!
|
|
|
|
|
|
|
|
:::
|
|
|
|
|
2022-07-25 23:18:00 +00:00
|
|
|
:::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:
|
|
|
|
|
|
|
|
<Tabs>
|
|
|
|
<TabItem value="npm" label="npm">
|
|
|
|
<pre><code parentName="pre" {...{"className": "language-bash"}}>{`\
|
2022-08-07 07:48:40 +00:00
|
|
|
npm rm --save xlsx
|
2022-08-14 08:10:18 +00:00
|
|
|
npm i --save https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz`}
|
2022-07-25 23:18:00 +00:00
|
|
|
</code></pre>
|
|
|
|
</TabItem>
|
|
|
|
<TabItem value="pnpm" label="pnpm">
|
|
|
|
<pre><code parentName="pre" {...{"className": "language-bash"}}>{`\
|
2022-08-07 07:48:40 +00:00
|
|
|
pnpm rm xlsx
|
2022-08-14 08:10:18 +00:00
|
|
|
pnpm install https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz`}
|
2022-07-25 23:18:00 +00:00
|
|
|
</code></pre>
|
|
|
|
</TabItem>
|
|
|
|
<TabItem value="yarn" label="Yarn" default>
|
|
|
|
<pre><code parentName="pre" {...{"className": "language-bash"}}>{`\
|
2022-08-07 07:48:40 +00:00
|
|
|
yarn remove xlsx
|
2022-08-14 08:10:18 +00:00
|
|
|
yarn add https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz`}
|
2022-07-25 23:18:00 +00:00
|
|
|
</code></pre>
|
|
|
|
</TabItem>
|
|
|
|
</Tabs>
|
|
|
|
|
2023-04-29 11:21:37 +00:00
|
|
|
When the `xlsx` library is a dependency of a dependency, the `overrides` field
|
|
|
|
in `package.json` can control module resolution:
|
|
|
|
|
|
|
|
<CodeBlock language="json" title="package.json">{`\
|
|
|
|
{
|
|
|
|
// highlight-start
|
|
|
|
"overrides": {
|
|
|
|
"xlsx": "https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz"
|
|
|
|
}
|
|
|
|
// highlight-end
|
|
|
|
}`}
|
|
|
|
</CodeBlock>
|
|
|
|
|
2022-07-25 23:18:00 +00:00
|
|
|
:::
|
|
|
|
|
2022-08-26 19:21:53 +00:00
|
|
|
## Encoding support
|
2022-05-16 03:26:04 +00:00
|
|
|
|
2022-08-26 19:21:53 +00:00
|
|
|
If Encoding support is required, `cpexcel.full.mjs` must be manually imported:
|
2022-05-16 03:26:04 +00:00
|
|
|
|
|
|
|
```js
|
|
|
|
/* 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);
|
|
|
|
```
|