Windows ARM CLI details

This commit is contained in:
SheetJS 2024-10-25 23:17:31 -04:00
parent 8ccb92b3e5
commit 2be6b170c5
13 changed files with 638 additions and 13 deletions

@ -79,7 +79,7 @@
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String"></Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String"></Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
</Row>
@ -97,7 +97,7 @@
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String"></Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String"></Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
</Row>
@ -106,7 +106,7 @@
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String"></Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String"></Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
</Row>

@ -40,12 +40,19 @@ This demo was tested in the following deployments:
| `darwin-x64` | `5.8.1` | `18.5.0` | 2024-05-28 |
| `darwin-arm` | `5.8.1` | `18.5.0` | 2024-05-25 |
| `win10-x64` | `5.8.1` | `18.5.0` | 2024-04-18 |
| `win11-arm` | `5.8.1` | `18.5.0` | 2024-05-28 |
| `win11-arm` | `5.8.1` | `18.5.0` | 2024-10-25 |
| `linux-x64` | `5.8.1` | `18.5.0` | 2024-03-21 |
| `linux-arm` | `5.8.1` | `18.5.0` | 2024-05-26 |
:::
:::caution pass
`pkg` on Windows on ARM uses the X64 compatibility layer. It does not generate
a native ARM64 binary!
:::
## Integration Details
The [SheetJS NodeJS module](/docs/getting-started/installation/nodejs) can be

@ -82,11 +82,19 @@ This demo was last tested in the following deployments:
| `darwin-x64` | `1.1.10` | 2024-05-28 |
| `darwin-arm` | `1.1.10` | 2024-05-29 |
| `win10-x64` | `1.1.12` | 2024-06-10 |
| `win11-arm` | `1.1.33` | 2024-10-25 |
| `linux-x64` | `1.1.12` | 2024-06-09 |
| `linux-arm` | `1.1.12` | 2024-06-10 |
:::
:::caution pass
BunJS on Windows on ARM uses the X64 compatibility layer. It does not generate
a native ARM64 binary!
:::
0) Install or update BunJS.[^3]
1) Download the test file https://docs.sheetjs.com/pres.numbers:
@ -106,7 +114,7 @@ bun install https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz`}
:::caution pass
On Windows, the command failed with a `ENOTEMPTY` error:
In some test runs, the command failed with a `ENOTEMPTY` error:
```
error: InstallFailed extracting tarball for https://cdn.sheetjs.com/xlsx-0.20.1/xlsx-0.20.1.tgz

@ -103,12 +103,19 @@ This demo was last tested in the following deployments:
| `darwin-arm` | `1.43.6` | 2024-05-23 |
| `win10-x64` | `1.41.3` | 2024-03-24 |
| `win11-x64` | `1.43.6` | 2024-05-25 |
| `win11-arm` | `1.43.6` | 2024-05-25 |
| `win11-arm` | `2.0.3` | 2024-10-25 |
| `linux-x64` | `1.41.3` | 2024-03-18 |
| `linux-arm` | `1.43.6` | 2024-05-25 |
:::
:::caution pass
Deno on Windows on ARM uses the X64 compatibility layer. It does not generate
a native ARM64 binary!
:::
0) Install Deno.[^6]
1) Download the test file https://docs.sheetjs.com/pres.numbers:
@ -134,6 +141,16 @@ Donald Trump,45
Joseph Biden,46
```
:::info pass
In newer versions of Deno, importing from a URL requires import permissions:
```bash
deno run -r --allow-read --allow-import https://docs.sheetjs.com/cli/sheet2csv.ts pres.numbers
```
:::
3) Compile and run `sheet2csv`:
```bash
@ -143,6 +160,17 @@ deno compile -r --allow-read https://docs.sheetjs.com/cli/sheet2csv.ts
The program should display the same CSV contents as the script (from step 2)
:::info pass
In newer versions of Deno, importing from a URL requires import permissions:
```bash
deno compile -r --allow-read --allow-import https://docs.sheetjs.com/cli/sheet2csv.ts
./sheet2csv pres.numbers
```
:::
[^1]: See [`readFile` in "Reading Files"](/docs/api/parse-options)
[^2]: See [`sheet_to_csv` in "CSV and Text"](/docs/api/utilities/csv#delimiter-separated-output)
[^3]: See [`readFile` in "Reading Files"](/docs/api/parse-options)

@ -54,6 +54,13 @@ The following frameworks have been tested on the following platforms:
<FrameworkData/>
:::note pass
Asterisks (✱) in the Windows for ARM column mark tests that generated x64
binaries. The CLI tools run under the x64 emulator integrated in Windows.
:::
:::tip pass
The [`xlsx-cli`](https://cdn.sheetjs.com/xlsx-cli/) NodeJS script is available

@ -16,7 +16,7 @@ Functions" and cloud storage.
[SheetJS](https://sheetjs.com) is a JavaScript library for reading and writing
data from spreadsheets.
This demo explores two key AWS offerings:
This demo explores two key Azure offerings:
- ["Azure Functions"](#azure-functions) ("Lambda") explores the serverless
computing offering. The demo creates a JavaScript function that can process

@ -54,8 +54,8 @@ This demo was verified in the following deployments:
## ExtendScript
[The "ExtendScript" build](/docs/getting-started/installation/extendscript) can
be included from a script in the same directory:
The [SheetJS ExtendScript build](/docs/getting-started/installation/extendscript)
can be included from a script in the same directory using `#include`:
```js
#include "xlsx.extendscript.js"
@ -69,6 +69,9 @@ On the [SheetJS chat](https://sheetjs.com/chat), a user presented a workaround
that uses [a precompiled command-line tool](/docs/demos/cli/) to process data
and pass JSON data back to ExtendScript.
[The original conversation](https://discord.com/channels/1039771292859109436/1039788802220232744/1270850074024480972)
is accessible to members of the [SheetJS chat server](https://sheetjs.com/chat).
:::
### Reading Files

@ -21,6 +21,14 @@ limits. The library offers alternate strategies to optimize for memory usage.
of arrays, are designed to work around Google Chrome performance regressions.
For backwards compatibility, dense mode worksheets are not created by default.
:::tip pass
Dense worksheets were overhauled in version `0.19.0`. It is strongly recommended
to [upgrade to the latest version](/docs/getting-started/installation/).
:::
`read`, `readFile` and `aoa_to_sheet` accept the `dense` option. When enabled,
the methods create worksheet objects that store cells in arrays of arrays:

@ -129,7 +129,7 @@ var thisFile = File.openDialog("Select a spreadsheet");
var workbook = XLSX.readFile(thisFile.absoluteURI);
```
The [`extendscript` demo](/docs/demos/extensions/extendscript) includes complete
The ["ExtendScript" demo](/docs/demos/extensions/extendscript) includes complete
examples for Photoshop and InDesign.
</TabItem>

@ -266,7 +266,7 @@ var thisFile = File.saveDialog("Select an output file", "*.xlsx;*.xls");
XLSX.writeFile(workbook, thisFile.absoluteURI);
```
The [`extendscript` demo](/docs/demos/extensions/extendscript) includes complete
The ["ExtendScript" demo](/docs/demos/extensions/extendscript) includes complete
examples for Photoshop and InDesign.
</TabItem>

@ -52,6 +52,13 @@ corresponding cell object.
#### Dense Mode
:::tip pass
Dense worksheets were overhauled in version `0.19.0`. It is strongly recommended
to [upgrade to the latest version](/docs/getting-started/installation/).
:::
When the option `dense: true` is passed, parsers will generate a "dense-mode"
worksheet where cells are stored in an array of arrays. `sheet["!data"][R][C]`
returns the cell object at row `R` and column `C` (zero-indexed values).

@ -364,10 +364,38 @@ This,is,a,Test
### Browser Testing
[![Build Status](https://saucelabs.com/browser-matrix/sheetjs.svg)](https://saucelabs.com/u/sheetjs)
The test suite is regularly run against a number of modern and legacy browsers
using [Sauce Labs](https://saucelabs.com/).
The following chart shows test results on 2024 October 20 for version 0.20.3:
[![Build Status](pathname:///test/sheetjs.svg)](https://saucelabs.com/u/sheetjs)
:::info pass
In previous runs, tests passed in:
- Internet Explorer 6 - 11
- Chrome versions starting from 26
- Safari iOS versions starting from 8
- Android Browser versions starting from 5.1
- Safari macOS versions starting from 6
- Edge 13 - 18 and versions starting from 79
Sauce Labs has removed many legacy browser versions over the years. SheetJS LLC
maintains testing infrastructure for legacy deployments. For questions about
legacy browsers, please ask [in the SheetJS chat](https://sheetjs.com/chat).
For continued support with relevant runtimes including Salesforce LWC, NetSuite
SuiteScripts, and Adobe ExtendScript, SheetJS libraries include fallbacks and
shims that help preserve support in legacy browser environments.
:::
### Supported File Formats
![graph of format support](pathname:///formats.png)
["File Formats"](/docs/miscellany/formats) lists the supported file formats.
[![graph of format support](pathname:///formats.png)](/docs/miscellany/formats)
![graph legend](pathname:///legend.png)

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 110 KiB