<p><ahref={`https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz`}>https://cdn.sheetjs.com/xlsx-{current}/xlsx-{current}.tgz</a> is the URL for version {current}</p>
## Installation
Tarballs can be directly installed using a package manager:
For general stability, "vendoring" modules is the recommended approach:
<p>1) Download the tarball (<codeparentName="pre">xlsx-{current}.tgz</code>) for the desired version. The current
version is available at <ahref={`https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz`}>https://cdn.sheetjs.com/xlsx-{current}/xlsx-{current}.tgz</a></p>
2) Create a `vendor` subfolder at the root of your project and move the tarball
to that folder. Add it to your project repository.
3) Install the tarball using a package manager:
<TabsgroupId="pm">
<TabItemvalue="npm"label="npm">
<CodeBlocklanguage="bash">{`\
npm i --save file:vendor/xlsx-${current}.tgz`}
</CodeBlock>
</TabItem>
<TabItemvalue="pnpm"label="pnpm">
<CodeBlocklanguage="bash">{`\
pnpm install file:vendor/xlsx-${current}.tgz`}
</CodeBlock>
</TabItem>
<TabItemvalue="yarn"label="Yarn"default>
<CodeBlocklanguage="bash">{`\
yarn add file:vendor/xlsx-${current}.tgz`}
</CodeBlock>
</TabItem>
</Tabs>
The package will be installed and accessible as `xlsx`.
## Usage
With most frameworks and bundler tools, named imports are recommended:
```js
import { read, utils } from 'xlsx';
```
Some legacy bundlers require the glob import:
```js
import * as XLSX from 'xlsx';
const { read, utils } = XLSX;
```
For legacy bundlers that support CommonJS, `require` will work:
```js
var XLSX = require("xlsx");
var read = XLSX.read, utils = XLSX.utils;
```
The ["Bundlers" demo](/docs/demos/bundler) includes examples for specific tools.