This commit is contained in:
SheetJS 2022-07-09 19:59:44 -04:00
parent 551cd9f093
commit c4276865cd
2 changed files with 55 additions and 0 deletions

@ -0,0 +1,42 @@
---
sidebar_position: 7
sidebar_custom_props:
summary: Download and Import ECMAScript Modules
---
import current from '/version.js';
# Bun
[Bun](https://bun.sh/) is a JavaScript runtime powered by JavaScriptCore.
:::caution Bun support is considered experimental.
Great open source software grows with user tests and reports. Any issues should
be reported to the [SheetJS project](https://github.com/SheetJS/sheetjs/issues)
for further diagnosis.
:::
Each standalone release script is available at <https://cdn.sheetjs.com/>.
<div><a href={`https://cdn.sheetjs.com/xlsx-${current}/package/xlsx.mjs`}>https://cdn.sheetjs.com/xlsx-{current}/package/xlsx.mjs</a> is the URL for {current}</div><br/>
After downloading the script, it can be directly imported:
```js
import * as XLSX from './xlsx.mjs';
```
## XLS Support
If XLS support is required, `cpexcel.full.mjs` must be manually imported.
<div><a href={`https://cdn.sheetjs.com/xlsx-${current}/package/dist/cpexcel.full.mjs`}>https://cdn.sheetjs.com/xlsx-{current}/package/dist/cpexcel.full.mjs</a> is the URL for {current}</div><br/>
```ts
/* load the codepage support library for extended support with older formats */
import * as cptable from './cpexcel.full.mjs';
XLSX.set_cptable(cptable);
```

@ -177,6 +177,19 @@ var workbook = XLSX.readFile(thisFile.absoluteURI);
The [`extendscript` demo](../getting-started/demos/extendscript) includes a more complex example.
</TabItem>
<TabItem value="bun" label="Bun">
[Bun `readFileSync`](https://github.com/Jarred-Sumner/bun/issues/256) currently
returns a `Uint8Array`. The result should be wrapped in a `Buffer`:
```js
import { readFileSync } from 'fs'
import { read } from './xlsx.mjs'
const workbook = read(Buffer.from(readFileSync(path)));
```
</TabItem>
</Tabs>