---
pagination_prev: getting-started/index
pagination_next: getting-started/example
sidebar_position: 1
sidebar_custom_props:
summary: Classic pages with simple `}
The `latest` tag references the latest version and updates with each release:
```html
```
:::warning
A number of services host older versions of the SheetJS libraries. Due to
syncing issues, they are generally out of date.
They are known CDN bugs.
{`\
`}
A slimmer build is generated at `dist/xlsx.mini.min.js`. Compared to full build:
- codepage library skipped (no support for XLS encodings)
- no support for XLSB / XLS / Lotus 1-2-3 / SpreadsheetML 2003 / Numbers
- node stream utils removed
{`\
`}
{`\
importScripts("https://cdn.sheetjs.com/xlsx-${current}/package/dist/shim.min.js");
importScripts("https://cdn.sheetjs.com/xlsx-${current}/package/dist/xlsx.full.min.js");`}
## ECMAScript Module Imports
:::caution
This section refers to imports using `script type="module"`. For imports in
modern projects using Webpack or React or Angular or VueJS, the installation is
described [in the next section](./frameworks).
:::
The ECMAScript Module build is saved to `xlsx.mjs` and can be directly added to
a page with a `script` tag using `type="module"`:
{`\
`}
If Encoding support is required, `cpexcel.full.mjs` must be manually imported:
{`\
`}
Dynamic imports with `import()` can be used in data export scenarios. This
example will download the library only when the export button is pressed:
{`\
`}
Web Worker support is noted in [the demo](../../demos/worker#installation)
## Bower
:::caution
Bower is deprecated and the maintainers recommend using other tools.
:::
[Bower](https://bower.io/) plays nice with the CDN tarballs:
{`\
npx bower install https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz`}
Bower will place the standalone scripts in `bower_components/js-xlsx/dist/`