---
pagination_prev: getting-started/index
pagination_next: getting-started/example
sidebar_position: 4
sidebar_custom_props:
summary: NetSuite, SAP UI5, RequireJS
---
import current from '/version.js';
import CodeBlock from '@theme/CodeBlock';
# AMD (define)
Each standalone release script is available at
https://cdn.sheetjs.com/xlsx-{current}/package/dist/xlsx.full.min.js is the URL for {current}
:::note When referencing by file name, AMD loaders typically omit the file extension. The actual file name is `xlsx.full.min.js`, but the examples will refer to the script as `xlsx.full.min`. ::: :::tip pass [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! ::: ## NetSuite After downloading the script, it can be referenced directly in `define` calls in SuiteScripts: ```js define(['N/file', './xlsx.full.min'], function(file, XLSX) { // ... use XLSX here }) ``` As explained in the [NetSuite demo](/docs/demos/cloud/netsuite), module aliases are created in config files referenced via `@NAmdConfig` comments. ## SAP UI5 After downloading the script, it can be uploaded to the UI5 project and loaded in the `sap.ui.define` call: ```js sap.ui.define([ /* ... other libraries ... */ "path/to/xlsx.full.min" ], function(/* ... variables for the other libraries ... */, XLSX) { // use XLSX here }) ``` :::warning **Copy and pasting code does not work** for SheetJS scripts as they contain Unicode characters that may be mangled. The standalone script should be downloaded and manually uploaded to the project. ::: ## RequireJS :::caution The standalone script must be aliased to the path `xlsx`. The `requirejs.config` function can define aliases through the `paths` key: ```js requirejs.config({ paths: { xlsx: [ './xlsx.full.min' ] } }); ``` ::: After configuring the alias, app code can freely require `xlsx`: ```js require(['xlsx'], function(XLSX) { // ... use XLSX here }); ``` ## Dojo Toolkit Dojo has changed module loading strategies over the years. These examples were tested with Dojo `1.10.4` and are not guaranteed to work with other versions. Live demos are included in ["Dojo Toolkit"](/docs/demos/frontend/legacy#dojo-toolkit) :::caution The standalone scripts add `window.XLSX`, so it is recommended to use `_XLSX` in the function arguments and access the library with `XLSX` in the callback: ```js require(["xlsx"], function( // highlight-next-line _XLSX // !! NOTE: this is not XLSX! A different variable name must be used ) { // highlight-next-line console.log(XLSX.version); // use XLSX in the callback }) ``` ::: #### Synchronous Loading When `async` is set to `false` or `0`, the scripts can be directly referenced in `require` calls.