forked from sheetjs/docs.sheetjs.com
ARM64 Engine demo refresh
This commit is contained in:
parent
7f86e0b603
commit
f0e5193b74
@ -1,10 +1,6 @@
|
||||
<?xml version="1.0"?>
|
||||
<?mso-application progid="Excel.Sheet"?>
|
||||
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
|
||||
xmlns:o="urn:schemas-microsoft-com:office:office"
|
||||
xmlns:x="urn:schemas-microsoft-com:office:excel"
|
||||
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
|
||||
xmlns:html="http://www.w3.org/TR/REC-html40">
|
||||
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">
|
||||
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
|
||||
<WindowHeight>10620</WindowHeight>
|
||||
<WindowWidth>11020</WindowWidth>
|
||||
@ -24,21 +20,21 @@
|
||||
<Protection/>
|
||||
</Style>
|
||||
<Style ss:ID="s16">
|
||||
<Font ss:FontName="Arial" x:Family="Swiss" ss:Size="12" ss:Color="#1C1E21"/>
|
||||
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="12" ss:Color="#1C1E21"/>
|
||||
</Style>
|
||||
<Style ss:ID="s17">
|
||||
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="12" ss:Color="#000000"
|
||||
ss:Bold="1"/>
|
||||
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="12" ss:Color="#000000" ss:Bold="1"/>
|
||||
</Style>
|
||||
<Style ss:ID="s19">
|
||||
<Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
|
||||
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="12" ss:Color="#000000"
|
||||
ss:Bold="1"/>
|
||||
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="12" ss:Color="#000000" ss:Bold="1"/>
|
||||
</Style>
|
||||
<Style ss:ID="s20">
|
||||
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="12" ss:Color="#467886" ss:Underline="Single"/>
|
||||
</Style>
|
||||
</Styles>
|
||||
<Worksheet ss:Name="Engines">
|
||||
<Table ss:ExpandedColumnCount="8" ss:ExpandedRowCount="17" x:FullColumns="1"
|
||||
x:FullRows="1" ss:DefaultColumnWidth="65" ss:DefaultRowHeight="16">
|
||||
<Table ss:ExpandedColumnCount="8" ss:ExpandedRowCount="17" x:FullColumns="1" x:FullRows="1" ss:DefaultColumnWidth="65" ss:DefaultRowHeight="16">
|
||||
<Column ss:Index="3" ss:Width="24"/>
|
||||
<Column ss:Width="31"/>
|
||||
<Column ss:Width="24"/>
|
||||
@ -62,7 +58,7 @@
|
||||
<Cell ss:StyleID="s17"><Data ss:Type="String">ARM</Data></Cell>
|
||||
</Row>
|
||||
<Row>
|
||||
<Cell><Data ss:Type="String">Duktape</Data></Cell>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/duktape#complete-example"><Data ss:Type="String">Duktape</Data></Cell>
|
||||
<Cell><Data ss:Type="String">C</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
@ -72,7 +68,7 @@
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
<Row>
|
||||
<Cell><Data ss:Type="String">V8</Data></Cell>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/v8#complete-example"><Data ss:Type="String">V8</Data></Cell>
|
||||
<Cell><Data ss:Type="String">C++</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
@ -82,27 +78,27 @@
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
<Row>
|
||||
<Cell><Data ss:Type="String">Rhino</Data></Cell>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/rhino#complete-example"><Data ss:Type="String">Rhino</Data></Cell>
|
||||
<Cell><Data ss:Type="String">Java</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"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
<Row>
|
||||
<Cell><Data ss:Type="String">JSC</Data></Cell>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/jsc#complete-example"><Data ss:Type="String">JSC</Data></Cell>
|
||||
<Cell><Data ss:Type="String">C++</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>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
<Row>
|
||||
<Cell><Data ss:Type="String">Jint</Data></Cell>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/jint#integration-example"><Data ss:Type="String">Jint</Data></Cell>
|
||||
<Cell><Data ss:Type="String">C#</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
@ -112,7 +108,7 @@
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
<Row>
|
||||
<Cell><Data ss:Type="String">Goja</Data></Cell>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/goja#complete-example"><Data ss:Type="String">Goja</Data></Cell>
|
||||
<Cell><Data ss:Type="String">Go</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
@ -122,17 +118,17 @@
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
<Row>
|
||||
<Cell><Data ss:Type="String">Nashorn</Data></Cell>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/nashorn#complete-example"><Data ss:Type="String">Nashorn</Data></Cell>
|
||||
<Cell><Data ss:Type="String">Java</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"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
<Row>
|
||||
<Cell><Data ss:Type="String">QuickJS</Data></Cell>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/quickjs#integration-example"><Data ss:Type="String">QuickJS</Data></Cell>
|
||||
<Cell><Data ss:Type="String">C</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
@ -142,7 +138,7 @@
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
<Row>
|
||||
<Cell><Data ss:Type="String">Hermes</Data></Cell>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/hermes#integration-example"><Data ss:Type="String">Hermes</Data></Cell>
|
||||
<Cell><Data ss:Type="String">C++</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
@ -152,7 +148,7 @@
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
<Row>
|
||||
<Cell><Data ss:Type="String">ChakraCore</Data></Cell>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/chakra#integration-example"><Data ss:Type="String">ChakraCore</Data></Cell>
|
||||
<Cell><Data ss:Type="String">C++</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
@ -162,7 +158,7 @@
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String"></Data></Cell>
|
||||
</Row>
|
||||
<Row>
|
||||
<Cell><Data ss:Type="String">Boa</Data></Cell>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/boa#complete-example"><Data ss:Type="String">Boa</Data></Cell>
|
||||
<Cell><Data ss:Type="String">Rust</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
@ -172,17 +168,17 @@
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
<Row>
|
||||
<Cell><Data ss:Type="String">JE</Data></Cell>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/perl#complete-example"><Data ss:Type="String">JE</Data></Cell>
|
||||
<Cell><Data ss:Type="String">Perl</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"/>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
<Row>
|
||||
<Cell><Data ss:Type="String">JerryScript</Data></Cell>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/jerryscript#integration-example"><Data ss:Type="String">JerryScript</Data></Cell>
|
||||
<Cell><Data ss:Type="String">C</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
@ -192,24 +188,24 @@
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
<Row>
|
||||
<Cell><Data ss:Type="String">GraalJS</Data></Cell>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/graaljs#complete-example"><Data ss:Type="String">GraalJS</Data></Cell>
|
||||
<Cell><Data ss:Type="String">Java</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"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
<Row>
|
||||
<Cell><Data ss:Type="String">MuJS</Data></Cell>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/mujs#integration-example"><Data ss:Type="String">MuJS</Data></Cell>
|
||||
<Cell><Data ss:Type="String">C</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"/>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
</Table>
|
||||
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
|
||||
@ -238,8 +234,7 @@
|
||||
</WorksheetOptions>
|
||||
</Worksheet>
|
||||
<Worksheet ss:Name="Bindings">
|
||||
<Table ss:ExpandedColumnCount="8" ss:ExpandedRowCount="12" x:FullColumns="1"
|
||||
x:FullRows="1" ss:DefaultColumnWidth="65" ss:DefaultRowHeight="16">
|
||||
<Table ss:ExpandedColumnCount="8" ss:ExpandedRowCount="12" x:FullColumns="1" x:FullRows="1" ss:DefaultColumnWidth="65" ss:DefaultRowHeight="16">
|
||||
<Column ss:Index="3" ss:Width="24"/>
|
||||
<Column ss:Width="31"/>
|
||||
<Column ss:Width="24"/>
|
||||
@ -263,47 +258,47 @@
|
||||
<Cell ss:StyleID="s17"><Data ss:Type="String">ARM</Data></Cell>
|
||||
</Row>
|
||||
<Row>
|
||||
<Cell><Data ss:Type="String">Duktape</Data></Cell>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/duktape#perl"><Data ss:Type="String">Duktape</Data></Cell>
|
||||
<Cell><Data ss:Type="String">Perl</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"/>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
<Row>
|
||||
<Cell><Data ss:Type="String">Duktape</Data></Cell>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/duktape#php"><Data ss:Type="String">Duktape</Data></Cell>
|
||||
<Cell><Data ss:Type="String">PHP</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"/>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
<Row>
|
||||
<Cell><Data ss:Type="String">Duktape</Data></Cell>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/duktape#python"><Data ss:Type="String">Duktape</Data></Cell>
|
||||
<Cell><Data ss:Type="String">Python</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"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
<Row>
|
||||
<Cell><Data ss:Type="String">Duktape</Data></Cell>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/duktape#zig"><Data ss:Type="String">Duktape</Data></Cell>
|
||||
<Cell><Data ss:Type="String">Zig</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<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>
|
||||
<Row>
|
||||
<Cell><Data ss:Type="String">V8</Data></Cell>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/v8#rust"><Data ss:Type="String">V8</Data></Cell>
|
||||
<Cell><Data ss:Type="String">Rust</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
@ -313,7 +308,7 @@
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
<Row>
|
||||
<Cell><Data ss:Type="String">JSC</Data></Cell>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/jsc#swift"><Data ss:Type="String">JSC</Data></Cell>
|
||||
<Cell><Data ss:Type="String">Swift</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
@ -323,7 +318,7 @@
|
||||
<Cell ss:StyleID="s16"/>
|
||||
</Row>
|
||||
<Row>
|
||||
<Cell><Data ss:Type="String">ExecJS</Data></Cell>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/rb#complete-example"><Data ss:Type="String">ExecJS</Data></Cell>
|
||||
<Cell><Data ss:Type="String">Ruby</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
|
@ -193,7 +193,7 @@ This demo was tested in the following environments:
|
||||
| OS and Version | Architecture | Server | Client | Date |
|
||||
|:---------------|:-------------|:---------|:---------|:-----------|
|
||||
| macOS 14.4 | `darwin-x64` | `5.0.0` | `5.0.1` | 2024-03-15 |
|
||||
| macOS 14.0 | `darwin-arm` | `4.14.1` | `3.12.0` | 2023-10-18 |
|
||||
| macOS 14.5 | `darwin-arm` | `5.1.0` | `5.1.0` | 2024-05-25 |
|
||||
| Windows 10 | `win10-x64` | `5.1.0` | `5.1.0` | 2024-03-24 |
|
||||
| Windows 11 | `win11-arm` | `4.14.1` | `3.12.0` | 2023-12-01 |
|
||||
| Linux (HoloOS) | `linux-x64` | `5.0.0` | `5.0.1` | 2024-03-21 |
|
||||
@ -336,7 +336,11 @@ npx @neutralinojs/neu run
|
||||
})();
|
||||
```
|
||||
|
||||
9) Close the app and relaunch the app with `npx @neutralinojs/neu run`
|
||||
9) Close the app. Run the app again:
|
||||
|
||||
```bash
|
||||
npx @neutralinojs/neu run
|
||||
```
|
||||
|
||||
When the app loads, a table should show in the main screen.
|
||||
|
||||
@ -371,7 +375,11 @@ async function exportData() {
|
||||
}
|
||||
```
|
||||
|
||||
11) Close the app and re-run with `npx @neutralinojs/neu run`
|
||||
11) Close the app. Run the app again:
|
||||
|
||||
```bash
|
||||
npx @neutralinojs/neu run
|
||||
```
|
||||
|
||||
When the app loads, click the "Import File" button and select a spreadsheet to
|
||||
see the contents.
|
||||
@ -398,8 +406,13 @@ save as `SheetJSNeu` will not automatically add the `.xlsx` extension!
|
||||
npx @neutralinojs/neu build
|
||||
```
|
||||
|
||||
Platform-specific programs will be created in the `dist` folder. For example,
|
||||
the `darwin-arm` program will be `./dist/sheetjs-neu/sheetjs-neu-mac_arm64`
|
||||
Platform-specific programs will be created in the `dist` folder:
|
||||
|
||||
| Platform | Path to binary |
|
||||
|:-------------|:-------------------------------------------|
|
||||
| `darwin-arm` | `./dist/sheetjs-neu/sheetjs-neu-mac_arm64` |
|
||||
|
||||
Run the generated app and confirm that Presidential data is displayed.
|
||||
|
||||
[^1]: See [`nativeAllowList`](https://neutralino.js.org/docs/configuration/neutralino.config.json#nativeallowlist-string) in the NeutralinoJS documentation
|
||||
[^2]: See [`os.showOpenDialog`](https://neutralino.js.org/docs/api/os#osshowopendialogtitle-options) in the NeutralinoJS documentation
|
||||
|
@ -48,7 +48,7 @@ This demo was tested in the following environments:
|
||||
|:---------------|:-------------|:------------|:-----------|
|
||||
| Windows 10 | `win10-x64` | `v0.73.11` | 2024-03-24 |
|
||||
| Windows 11 | `win11-x64` | `v0.72.12` | 2023-10-14 |
|
||||
| Windows 11 | `win11-arm` | `v0.72.20` | 2023-12-01 |
|
||||
| Windows 11 | `win11-arm` | `v0.74.5` | 2024-05-25 |
|
||||
| MacOS 14.4 | `darwin-x64` | `v0.73.22` | 2024-03-24 |
|
||||
| MacOS 14.1.2 | `darwin-arm` | `v0.72.11` | 2023-12-01 |
|
||||
|
||||
@ -424,10 +424,10 @@ setup instructions" to find instructions for manual installation.
|
||||
|
||||
### Project Setup
|
||||
|
||||
1) Create a new project using React Native `0.73.6`:
|
||||
1) Create a new project using React Native `0.74.1`:
|
||||
|
||||
```bash
|
||||
npx react-native init SheetJSWin --template react-native@0.73.6
|
||||
npx react-native init SheetJSWin --template react-native@0.74.1
|
||||
cd SheetJSWin
|
||||
```
|
||||
|
||||
|
@ -102,10 +102,10 @@ This demo was last tested in the following deployments:
|
||||
| `darwin-x64` | `1.43.1` | 2024-05-08 |
|
||||
| `darwin-arm` | `1.43.6` | 2024-05-23 |
|
||||
| `win10-x64` | `1.41.3` | 2024-03-24 |
|
||||
| `win11-x64` | `1.37.2` | 2023-10-14 |
|
||||
| `win11-arm` | `1.38.4` | 2023-12-01 |
|
||||
| `win11-x64` | `1.43.6` | 2024-05-25 |
|
||||
| `win11-arm` | `1.43.6` | 2024-05-25 |
|
||||
| `linux-x64` | `1.41.3` | 2024-03-18 |
|
||||
| `linux-arm` | `1.38.4` | 2023-12-01 |
|
||||
| `linux-arm` | `1.43.6` | 2024-05-25 |
|
||||
|
||||
:::
|
||||
|
||||
|
@ -90,7 +90,7 @@ This demo was tested in the following deployments:
|
||||
| Architecture | Version | NodeJS | Source | Date |
|
||||
|:-------------|:-------------|:----------|:----------|:-----------|
|
||||
| `darwin-x64` | `4.0.0-rc.4` | `14.15.3` | Pre-built | 2024-03-15 |
|
||||
| `darwin-arm` | `4.0.0-rc.2` | `18.18.0` | Compiled | 2023-12-01 |
|
||||
| `darwin-arm` | `4.0.0-rc.6` | `18.20.3` | Compiled | 2024-05-25 |
|
||||
| `win10-x64` | `4.0.0-rc.4` | `14.15.3` | Pre-built | 2024-04-18 |
|
||||
| `win11-arm` | `4.0.0-rc.2` | `20.10.0` | Compiled | 2023-12-01 |
|
||||
| `linux-x64` | `4.0.0-rc.4` | `14.15.3` | Pre-built | 2024-03-21 |
|
||||
@ -102,7 +102,7 @@ This demo was tested in the following deployments:
|
||||
| Architecture | Version | NodeJS | Date |
|
||||
|:-------------|:--------|:---------|:-----------|
|
||||
| `darwin-x64` | `5.8.1` | `18.5.0` | 2024-03-15 |
|
||||
| `darwin-arm` | `5.8.1` | `18.5.0` | 2023-12-01 |
|
||||
| `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` | 2023-12-01 |
|
||||
| `linux-x64` | `5.8.1` | `18.5.0` | 2024-03-21 |
|
||||
@ -114,7 +114,7 @@ This demo was tested in the following deployments:
|
||||
| Architecture | Version | NodeJS | Date |
|
||||
|:-------------|:--------|:----------|:-----------|
|
||||
| `darwin-x64` | `2.4.0` | `21.7.1` | 2024-03-15 |
|
||||
| `darwin-arm` | `2.3.0` | `21.3.0` | 2023-12-01 |
|
||||
| `darwin-arm` | `2.4.3` | `22.2.0` | 2024-05-25 |
|
||||
| `win10-x64` | `2.4.2` | `16.20.2` | 2024-04-18 |
|
||||
| `linux-x64` | `2.4.0` | `21.7.1` | 2024-03-21 |
|
||||
| `linux-arm` | `2.3.0` | `21.3.0` | 2023-12-01 |
|
||||
@ -372,7 +372,7 @@ This demo was last tested in the following deployments:
|
||||
| `darwin-x64` | `12.3.219.9` | `0.88.0` | 2024-03-15 |
|
||||
| `darwin-arm` | `12.6.228.3` | `0.92.0` | 2024-05-23 |
|
||||
| `win10-x64` | `12.3.219.9` | `0.88.0` | 2024-03-24 |
|
||||
| `win11-x64` | `11.8.172.13` | `0.79.2` | 2023-10-14 |
|
||||
| `win11-x64` | `12.6.228.3` | `0.92.0` | 2024-05-23 |
|
||||
| `linux-x64` | `12.3.219.9` | `0.88.0` | 2024-03-18 |
|
||||
| `linux-arm` | `12.0.267.8` | `0.82.0` | 2023-12-01 |
|
||||
|
||||
|
@ -422,7 +422,7 @@ If the InDesign version does not support UXP, a tooltip shows a message:
|
||||
|
||||
> This file is not executable by any supported script language.
|
||||
|
||||
It is strongly recommended to upgrade to InDesign 2023.
|
||||
[ExtendScript](#extendscript) should be used when UXP is not supported.
|
||||
|
||||
:::
|
||||
|
||||
|
@ -133,7 +133,7 @@ This demo was tested in the following deployments:
|
||||
| `darwin-x64` | `2.7.0` | 2024-04-04 |
|
||||
| `darwin-arm` | `2.7.0` | 2024-05-23 |
|
||||
| `win10-x64` | `2.7.0` | 2024-03-27 |
|
||||
| `win11-arm` | `2.7.0` | 2023-12-01 |
|
||||
| `win11-arm` | `2.7.0` | 2024-05-25 |
|
||||
| `linux-x64` | `2.7.0` | 2024-03-21 |
|
||||
| `linux-arm` | `2.7.0` | 2024-05-23 |
|
||||
|
||||
@ -404,11 +404,12 @@ file, prints CSV rows from the first worksheet, and creates a XLSB workbook.
|
||||
|
||||
This demo was tested in the following deployments:
|
||||
|
||||
| Architecture | Version | PHP Version | Date |
|
||||
|:-------------|:--------|:------------|:-----------|
|
||||
| `darwin-x64` | `2.7.0` | `8.3.4` | 2024-03-15 |
|
||||
| `darwin-arm` | `2.7.0` | `8.3.2` | 2024-02-13 |
|
||||
| `linux-x64` | `2.7.0` | `8.2.7` | 2024-03-21 |
|
||||
| Architecture | Version | PHP | Date |
|
||||
|:-------------|:--------|:---------|:-----------|
|
||||
| `darwin-x64` | `2.7.0` | `8.3.4` | 2024-03-15 |
|
||||
| `darwin-arm` | `2.7.0` | `8.3.2` | 2024-02-13 |
|
||||
| `linux-x64` | `2.7.0` | `8.2.7` | 2024-03-21 |
|
||||
| `linux-arm` | `2.7.0` | `8.2.18` | 2024-05-25 |
|
||||
|
||||
:::
|
||||
|
||||
@ -441,6 +442,13 @@ extension=ffi
|
||||
If this line is prefixed with a `;`, remove the semicolon. If this line does not
|
||||
appear in the file, add it to the end.
|
||||
|
||||
:::note pass
|
||||
|
||||
On Linux and macOS, the file may be owned by the `root` user. If writing the
|
||||
file fails with a normal user account, use `sudo` to launch the text editor.
|
||||
|
||||
:::
|
||||
|
||||
3) Build the Duktape shared library:
|
||||
|
||||
```bash
|
||||
@ -543,6 +551,7 @@ This demo was tested in the following deployments:
|
||||
| `darwin-x64` | `2.7.0` | `3.12.2` | 2024-03-15 |
|
||||
| `darwin-arm` | `2.7.0` | `3.11.7` | 2024-02-13 |
|
||||
| `linux-x64` | `2.7.0` | `3.11.3` | 2024-03-21 |
|
||||
| `linux-arm` | `2.7.0` | `3.11.2` | 2024-05-25 |
|
||||
|
||||
:::
|
||||
|
||||
@ -634,6 +643,37 @@ python3 SheetJSDuk.py pres.numbers
|
||||
If the program succeeded, the CSV contents will be printed to console and the
|
||||
file `sheetjsw.xlsb` will be created. That file can be opened with Excel.
|
||||
|
||||
:::caution pass
|
||||
|
||||
In some tests, the command failed with an `OSError` message.
|
||||
|
||||
The fix is to explicitly add `./` to the `lib` variable in `SheetJSDuk.py`:
|
||||
|
||||
<Tabs groupId="triple">
|
||||
<TabItem value="darwin-x64" label="MacOS">
|
||||
|
||||
The name of the library is `libduktape.207.20700.so`:
|
||||
|
||||
```python title="SheetJSDuk.py (change highlighted line)"
|
||||
# highlight-next-line
|
||||
lib = "./libduktape.207.20700.so"
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="linux-x64" label="Linux">
|
||||
|
||||
The name of the library is `libduktape.so.207.20700`:
|
||||
|
||||
```python title="SheetJSDuk.py (change highlighted line)"
|
||||
# highlight-next-line
|
||||
lib = "./libduktape.so.207.20700"
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
:::
|
||||
|
||||
### Zig
|
||||
|
||||
:::caution Zig support is considered experimental.
|
||||
@ -744,7 +784,9 @@ This demo was tested in the following deployments:
|
||||
| `darwin-x64` | `2.7.0` | `0.11.0` | 2024-03-10 |
|
||||
| `darwin-arm` | `2.7.0` | `0.12.0` | 2024-05-23 |
|
||||
| `win10-x64` | `2.7.0` | `0.11.0` | 2024-03-10 |
|
||||
| `win11-arm` | `2.7.0` | `0.12.0` | 2024-05-25 |
|
||||
| `linux-x64` | `2.7.0` | `0.12.0` | 2024-04-25 |
|
||||
| `linux-arm` | `2.7.0` | `0.12.0` | 2024-05-25 |
|
||||
|
||||
On Windows, due to incompatibilities between WSL and PowerShell, some commands
|
||||
must be run in WSL Bash.
|
||||
@ -764,7 +806,7 @@ project folder.
|
||||
<Tabs groupId="triple">
|
||||
<TabItem value="darwin-x64" label="MacOS">
|
||||
|
||||
For Intel Mac:
|
||||
For X64 Mac:
|
||||
|
||||
```bash
|
||||
curl -LO https://ziglang.org/download/0.12.0/zig-macos-x86_64-0.12.0.tar.xz
|
||||
@ -782,10 +824,20 @@ tar -xzf zig-macos-*.tar.xz
|
||||
</TabItem>
|
||||
<TabItem value="linux-x64" label="Linux">
|
||||
|
||||
For X64 Linux:
|
||||
|
||||
```bash
|
||||
curl -LO https://ziglang.org/download/0.12.0/zig-linux-x86_64-0.12.0.tar.xz
|
||||
xz -d zig-linux-x86_64-0.12.0.tar.xz
|
||||
tar -xf zig-linux-x86_64-0.12.0.tar
|
||||
xz -d zig-linux-*.tar.xz
|
||||
tar -xf zig-linux-*.tar
|
||||
```
|
||||
|
||||
For AArch64 Linux:
|
||||
|
||||
```bash
|
||||
curl -LO https://ziglang.org/download/0.12.0/zig-linux-aarch64-0.12.0.tar.xz
|
||||
xz -d zig-linux-*.tar.xz
|
||||
tar -xf zig-linux-*.tar
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
@ -797,9 +849,18 @@ The following commands should be run within WSL bash.
|
||||
|
||||
:::
|
||||
|
||||
For X64 Windows:
|
||||
|
||||
```bash
|
||||
curl -LO https://ziglang.org/download/0.12.0/zig-windows-x86_64-0.12.0.zip
|
||||
unzip zig-windows-x86_64-0.12.0.zip
|
||||
```
|
||||
|
||||
For ARM64 Windows:
|
||||
|
||||
```bash
|
||||
curl -LO https://ziglang.org/download/0.12.0/zig-windows-aarch64-0.12.0.zip
|
||||
unzip zig-windows-aarch64-0.12.0.zip
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
@ -818,7 +879,7 @@ unzip zig-windows-x86_64-0.12.0.zip
|
||||
<TabItem value="linux-x64" label="Linux">
|
||||
|
||||
```bash
|
||||
./zig-linux-x86_64-0.12.0/zig init
|
||||
./zig-*/zig init
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
@ -831,7 +892,7 @@ The following command should be run within Powershell.
|
||||
:::
|
||||
|
||||
```bash
|
||||
.\zig-windows-x86_64-0.12.0\zig.exe init
|
||||
.\zig-windows-*\zig.exe init
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
@ -902,7 +963,7 @@ curl -L -o src/main.zig https://docs.sheetjs.com/duk/main.zig
|
||||
<TabItem value="linux-x64" label="Linux">
|
||||
|
||||
```bash
|
||||
./zig-linux-x86_64-0.12.0/zig build run -- pres.numbers
|
||||
./zig-*/zig build run -- pres.numbers
|
||||
```
|
||||
|
||||
:::caution pass
|
||||
@ -924,8 +985,10 @@ sudo pacman -Syu glibc linux-api-headers
|
||||
</TabItem>
|
||||
<TabItem value="win10-x64" label="Windows">
|
||||
|
||||
This command should be run in PowerShell:
|
||||
|
||||
```bash
|
||||
.\zig-windows-x86_64-0.12.0\zig.exe build run -- pres.numbers
|
||||
.\zig-windows-*\zig.exe build run -- pres.numbers
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
@ -956,6 +1019,7 @@ This demo was tested in the following deployments:
|
||||
| `darwin-x64` | `2.2.0` | 2024-03-15 |
|
||||
| `darwin-arm` | `2.2.0` | 2024-02-13 |
|
||||
| `linux-x64` | `2.2.0` | 2024-03-21 |
|
||||
| `linux-arm` | `2.2.0` | 2024-05-25 |
|
||||
|
||||
:::
|
||||
|
||||
|
@ -125,10 +125,10 @@ This demo was tested in the following deployments:
|
||||
| V8 Version | Platform | OS Version | Compiler | Date |
|
||||
|:--------------|:-------------|:--------------|:-----------------|:-----------|
|
||||
| `12.4.253` | `darwin-x64` | macOS 14.4 | `clang 15.0.0` | 2024-03-15 |
|
||||
| `12.1.283` | `darwin-arm` | macOS 14.1.2 | `clang 15.0.0` | 2023-12-01 |
|
||||
| `12.7.130` | `darwin-arm` | macOS 14.5 | `clang 15.0.0` | 2024-05-25 |
|
||||
| `12.5.48` | `win10-x64` | Windows 10 | `CL 19.39.33523` | 2024-03-24 |
|
||||
| `12.5.48` | `linux-x64` | HoloOS 3.5.17 | `gcc 13.1.1` | 2024-03-21 |
|
||||
| `11.8.82` | `linux-arm` | Debian 12 | `gcc 12.2.0` | 2023-12-01 |
|
||||
| `12.7.130` | `linux-arm` | Debian 12 | `gcc 12.2.0` | 2024-05-25 |
|
||||
|
||||
:::
|
||||
|
||||
@ -162,7 +162,7 @@ cd /usr/local/lib
|
||||
|
||||
:::note pass
|
||||
|
||||
If this step throws a permission error, run:
|
||||
If this step throws a permission error, run the following commands:
|
||||
|
||||
```bash
|
||||
sudo mkdir -p /usr/local/lib
|
||||
@ -226,7 +226,7 @@ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
|
||||
|
||||
:::note pass
|
||||
|
||||
If this step throws a permission error, run:
|
||||
If this step throws a permission error, run the following commands and retry:
|
||||
|
||||
```bash
|
||||
sudo mkdir -p /usr/local/lib
|
||||
@ -406,11 +406,11 @@ The recommended fix is to delete the referenced folder and re-run `gclient sync`
|
||||
</Tabs>
|
||||
|
||||
|
||||
5) Checkout the desired version. The following command pulls `12.5.48`:
|
||||
5) Checkout the desired version. The following command pulls `12.7.130`:
|
||||
|
||||
|
||||
```bash
|
||||
git checkout tags/12.5.48 -b sample
|
||||
git checkout tags/12.7.130 -b sample
|
||||
```
|
||||
|
||||
:::caution pass
|
||||
@ -418,14 +418,14 @@ git checkout tags/12.5.48 -b sample
|
||||
The official documentation recommends:
|
||||
|
||||
```bash
|
||||
git checkout refs/tags/12.5.48 -b sample -t
|
||||
git checkout refs/tags/12.7.130 -b sample -t
|
||||
```
|
||||
|
||||
This command failed in local testing:
|
||||
|
||||
```
|
||||
E:\v8\v8>git checkout refs/tags/12.5.48 -b sample -t
|
||||
fatal: cannot set up tracking information; starting point 'refs/tags/12.5.48' is not a branch
|
||||
E:\v8\v8>git checkout refs/tags/12.7.130 -b sample -t
|
||||
fatal: cannot set up tracking information; starting point 'refs/tags/12.7.130' is not a branch
|
||||
```
|
||||
|
||||
:::
|
||||
@ -502,6 +502,37 @@ Run the build:
|
||||
ninja -C out.gn/arm64.release.sample v8_monolith
|
||||
```
|
||||
|
||||
:::caution pass
|
||||
|
||||
When this demo was last tested, an assertion failed:
|
||||
|
||||
```
|
||||
../../src/base/small-vector.h: In instantiation of ‘class v8::base::SmallVector<std::pair<const v8::internal::compiler::turboshaft::PhiOp*, const v8::internal::compiler::turboshaft::OpIndex>, 16>’:
|
||||
../../src/compiler/turboshaft/loop-unrolling-reducer.h:577:11: required from here
|
||||
../../src/base/macros.h:215:55: error: static assertion failed: T should be trivially copyable
|
||||
215 | static_assert(::v8::base::is_trivially_copyable<T>::value, \
|
||||
| ^~~~~
|
||||
../../src/base/small-vector.h:25:3: note: in expansion of macro ‘ASSERT_TRIVIALLY_COPYABLE’
|
||||
25 | ASSERT_TRIVIALLY_COPYABLE(T);
|
||||
| ^~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
```
|
||||
|
||||
The build passed after disabling the assertions:
|
||||
|
||||
```cpp title="src/base/small-vector.h (edit highlighted lines)"
|
||||
class SmallVector {
|
||||
// Currently only support trivially copyable and trivially destructible data
|
||||
// types, as it uses memcpy to copy elements and never calls destructors.
|
||||
// highlight-start
|
||||
//ASSERT_TRIVIALLY_COPYABLE(T);
|
||||
//static_assert(std::is_trivially_destructible<T>::value);
|
||||
// highlight-end
|
||||
|
||||
public:
|
||||
static constexpr size_t kInlineSize = kSize;
|
||||
```
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="win10-x64" label="Windows">
|
||||
|
||||
@ -587,11 +618,24 @@ ld: multiple errors: unknown file type in '/Users/test/dev/v8/v8/out.gn/x64.rele
|
||||
|
||||
```bash
|
||||
g++ -I. -Iinclude samples/hello-world.cc -o hello_world -fno-rtti -lv8_monolith \
|
||||
-lv8_libbase -lv8_libplatform -ldl -Lout.gn/arm64.release.sample/obj/ -pthread \
|
||||
-ldl -Lout.gn/arm64.release.sample/obj/ -pthread \
|
||||
-std=c++17 -DV8_COMPRESS_POINTERS=1 -DV8_ENABLE_SANDBOX
|
||||
./hello_world
|
||||
```
|
||||
|
||||
:::info pass
|
||||
|
||||
In older V8 versions, the flags `-lv8_libbase -lv8_libplatform` were required.
|
||||
|
||||
Linking against `libv8_libbase` or `libv8_libplatform` in V8 version `12.4.253`
|
||||
elicited linker errors:
|
||||
|
||||
```
|
||||
ld: multiple errors: unknown file type in '/Users/test/dev/v8/v8/out.gn/x64.release.sample/obj/libv8_libplatform.a'; unknown file type in '/Users/test/dev/v8/v8/out.gn/x64.release.sample/obj/libv8_libbase.a'
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="linux-x64" label="Linux x64">
|
||||
|
||||
@ -864,10 +908,10 @@ This demo was last tested in the following deployments:
|
||||
| Architecture | V8 Crate | Date |
|
||||
|:-------------|:---------|:-----------|
|
||||
| `darwin-x64` | `0.89.0` | 2024-04-04 |
|
||||
| `darwin-arm` | `0.82.0` | 2023-12-01 |
|
||||
| `darwin-arm` | `0.92.0` | 2024-05-25 |
|
||||
| `win10-x64` | `0.89.0` | 2024-03-24 |
|
||||
| `linux-x64` | `0.91.0` | 2024-04-25 |
|
||||
| `linux-arm` | `0.82.0` | 2023-12-01 |
|
||||
| `linux-arm` | `0.92.0` | 2024-05-25 |
|
||||
|
||||
:::
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
---
|
||||
title: Java + Rhino
|
||||
title: Taming Data with Rhino
|
||||
sidebar_label: Java + Rhino
|
||||
pagination_prev: demos/bigdata/index
|
||||
pagination_next: solutions/input
|
||||
---
|
||||
@ -11,11 +12,11 @@ import CodeBlock from '@theme/CodeBlock';
|
||||
|
||||
Rhino is an ES3+ engine in Java.
|
||||
|
||||
The [SheetJS Standalone scripts](/docs/getting-started/installation/standalone)
|
||||
can be parsed and evaluated in a Rhino context.
|
||||
[SheetJS](https://sheetjs.com) is a JavaScript library for reading and writing
|
||||
data from spreadsheets.
|
||||
|
||||
This demo wraps workbooks and sheets into separate Java classes. The final
|
||||
result is a JAR.
|
||||
The ["Complete Example"](#complete-example) section includes a complete Java
|
||||
command-line tool for reading data from spreadsheets and printing CSV rows.
|
||||
|
||||
:::caution pass
|
||||
|
||||
@ -30,8 +31,19 @@ This demo was tested in the following deployments:
|
||||
| OpenJDK | Rhino | Date |
|
||||
|:--------|:---------|:-----------|
|
||||
| 22 | `1.7.14` | 2024-04-04 |
|
||||
| 21.0.2 | `1.7.14` | 2024-04-25 |
|
||||
| 17.0.10 | `1.7.14` | 2024-03-25 |
|
||||
| 21.0.3 | `1.7.15` | 2024-05-24 |
|
||||
| 20.0.2 | `1.7.15` | 2024-05-25 |
|
||||
| 19.0.2 | `1.7.15` | 2024-05-25 |
|
||||
| 18.0.2 | `1.7.15` | 2024-05-25 |
|
||||
| 17.0.11 | `1.7.15` | 2024-05-25 |
|
||||
| 16.0.1 | `1.7.15` | 2024-05-25 |
|
||||
| 15.0.10 | `1.7.15` | 2024-05-25 |
|
||||
| 14.0.2 | `1.7.15` | 2024-05-25 |
|
||||
| 13.0.14 | `1.7.15` | 2024-05-25 |
|
||||
| 12.0.2 | `1.7.15` | 2024-05-25 |
|
||||
| 11.0.22 | `1.7.15` | 2024-05-25 |
|
||||
| 10.0.2 | `1.7.15` | 2024-05-25 |
|
||||
| 9 | `1.7.15` | 2024-05-25 |
|
||||
| 1.8.0 | `1.7.14` | 2024-04-25 |
|
||||
|
||||
:::
|
||||
@ -49,6 +61,9 @@ context.setOptimizationLevel(-1);
|
||||
|
||||
:::
|
||||
|
||||
The [SheetJS Standalone scripts](/docs/getting-started/installation/standalone)
|
||||
can be parsed and evaluated in a Rhino context.
|
||||
|
||||
Binary strings can be passed back and forth.
|
||||
|
||||
_Initialize Rhino_
|
||||
@ -144,7 +159,7 @@ cd sheetjs-java
|
||||
2) Download the Rhino JAR and rename to `rhino.jar`:
|
||||
|
||||
```
|
||||
curl -L -o rhino.jar https://repo1.maven.org/maven2/org/mozilla/rhino/1.7.14/rhino-1.7.14.jar
|
||||
curl -L -o rhino.jar https://repo1.maven.org/maven2/org/mozilla/rhino/1.7.15/rhino-1.7.15.jar
|
||||
```
|
||||
|
||||
3) Download the SheetJS Standalone script and the test file. Save both files in
|
||||
|
@ -9,6 +9,9 @@ import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
import CodeBlock from '@theme/CodeBlock';
|
||||
|
||||
export const r = {style: {color:"red"}};
|
||||
export const B = {style: {fontWeight:"bold"}};
|
||||
|
||||
[JavaScriptCore](https://developer.apple.com/documentation/javascriptcore) (JSC)
|
||||
is the JavaScript engine powering the Safari web browser.
|
||||
|
||||
@ -389,6 +392,7 @@ This demo was tested in the following environments:
|
||||
| `darwin-x64` | `7618.1.15.14.7` | 2024-04-24 |
|
||||
| `darwin-arm` | `7618.2.12.11.7` | 2024-05-24 |
|
||||
| `linux-x64` | `7618.1.15.14.7` | 2024-04-24 |
|
||||
| `linux-arm` | `7618.2.12.11.7` | 2024-05-25 |
|
||||
|
||||
:::
|
||||
|
||||
@ -503,10 +507,50 @@ env CFLAGS="-Wno-error=dangling-reference -Wno-dangling-reference" CXXFLAGS="-Wn
|
||||
cd ..
|
||||
```
|
||||
|
||||
:::danger pass
|
||||
:::caution pass
|
||||
|
||||
When this was last tested on the Steam Deck, the build ran for 24 minutes!
|
||||
|
||||
:::
|
||||
|
||||
:::danger pass
|
||||
|
||||
When this demo was last tested on ARM64, there was a dangling pointer error:
|
||||
|
||||
<pre>
|
||||
<span {...B}>WebKitBuild/JSCOnly/Release/WTF/Headers/wtf/SentinelLinkedList.h:61:55: <span {...r}>error:</span></span> storing the address of local variable <span {...B}>‘toBeRemoved’</span> in <span {...B}>‘{"*"}MEM[(struct BasicRawSentinelNode {"*"} const &)this_4(D) + 96].WTF::BasicRawSentinelNode<JSC::CallLinkInfoBase>::m_next’</span> [<span style={{...r.style,...B.style}}>-Werror=dangling-pointer=</span>]
|
||||
{" 61 |"} void setNext(BasicRawSentinelNode* next) {"{"} <span style={{...r.style,...B.style}}>m_next = next</span>; {"}"}
|
||||
{" |"} <span {...r}>~~~~~~~^~~~~~</span>
|
||||
</pre>
|
||||
|
||||
The error can be suppressed with a preprocessor pragma:
|
||||
|
||||
```cpp title="WebKitBuild/JSCOnly/Release/WTF/Headers/wtf/SentinelLinkedList.h (add highlighted lines)"
|
||||
BasicRawSentinelNode() = default;
|
||||
|
||||
// highlight-start
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wdangling-pointer"
|
||||
// highlight-end
|
||||
|
||||
void setPrev(BasicRawSentinelNode* prev) { m_prev = prev; }
|
||||
void setNext(BasicRawSentinelNode* next) { m_next = next; }
|
||||
|
||||
// highlight-next-line
|
||||
#pragma GCC diagnostic pop
|
||||
|
||||
|
||||
T* prev() const { return static_cast<T*>(PtrTraits::unwrap(m_prev)); }
|
||||
```
|
||||
|
||||
After patching the header, JSC must be built without WebAssembly or JIT support:
|
||||
|
||||
```bash
|
||||
cd WebKit-WebKit-7618.2.12.11.7
|
||||
env CFLAGS="-Wno-error=dangling-reference -Wno-dangling-reference" CXXFLAGS="-Wno-error=dangling-reference -Wno-dangling-reference" Tools/Scripts/build-webkit --jsc-only --cmakeargs="-Wno-error -DENABLE_STATIC_JSC=ON -DUSE_THIN_ARCHIVES=OFF -DCMAKE_C_FLAGS=\"-Wno-error -Wno-dangling-reference\" -DCMAKE_CXX_FLAGS=-Wno-error -Wno-dangling-reference" --make-args="-j1 -Wno-error -Wno-error=dangling-reference" -j1 --no-jit --no-webassembly
|
||||
cd ..
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
|
@ -161,14 +161,14 @@ System.IO.File.WriteAllBytes("SheetJSJint.xlsb", outfile);
|
||||
|
||||
This demo was tested in the following deployments:
|
||||
|
||||
| Architecture | Jint Version | Date |
|
||||
|:-------------|:------------------|:-----------|
|
||||
| `darwin-x64` | `3.0.1` | 2024-03-15 |
|
||||
| `darwin-arm` | `3.0.0-beta-2056` | 2023-12-01 |
|
||||
| `win10-x64` | `3.1.0` | 2024-04-17 |
|
||||
| `win11-arm` | `3.0.0-beta-2056` | 2023-12-01 |
|
||||
| `linux-x64` | `3.1.0` | 2024-04-25 |
|
||||
| `linux-arm` | `3.0.0-beta-2056` | 2023-12-01 |
|
||||
| Architecture | Jint | Date |
|
||||
|:-------------|:--------|:-----------|
|
||||
| `darwin-x64` | `3.0.1` | 2024-03-15 |
|
||||
| `darwin-arm` | `3.1.2` | 2024-05-25 |
|
||||
| `win10-x64` | `3.1.0` | 2024-04-17 |
|
||||
| `win11-arm` | `3.1.2` | 2024-05-25 |
|
||||
| `linux-x64` | `3.1.0` | 2024-04-25 |
|
||||
| `linux-arm` | `3.1.2` | 2024-05-25 |
|
||||
|
||||
:::
|
||||
|
||||
@ -248,7 +248,7 @@ dotnet run
|
||||
|
||||
```bash
|
||||
dotnet nuget add source https://www.myget.org/F/jint/api/v3/index.json
|
||||
dotnet add package Jint --version 3.1.0
|
||||
dotnet add package Jint --version 3.1.2
|
||||
```
|
||||
|
||||
To verify Jint is installed, replace `Program.cs` with the following:
|
||||
|
@ -97,9 +97,9 @@ This demo was tested in the following deployments:
|
||||
| `darwin-x64` | `e401ed4` | `1.21.7` | 2024-04-25 |
|
||||
| `darwin-arm` | `ccbae20` | `1.22.3` | 2024-05-23 |
|
||||
| `win10-x64` | `e401ed4` | `1.22.1` | 2024-03-24 |
|
||||
| `win11-arm` | `b396bb4` | `1.21.1` | 2023-12-01 |
|
||||
| `win11-arm` | `ccbae20` | `1.22.3` | 2024-05-25 |
|
||||
| `linux-x64` | `e401ed4` | `1.22.1` | 2024-03-21 |
|
||||
| `linux-arm` | `b396bb4` | `1.21.4` | 2023-12-01 |
|
||||
| `linux-arm` | `ccbae20` | `1.19.8` | 2024-05-25 |
|
||||
|
||||
At the time of writing, Goja did not have proper version numbers. Versions are
|
||||
identified by Git commit hashes.
|
||||
|
@ -106,7 +106,7 @@ This demo was tested in the following deployments:
|
||||
| OpenJDK | Nashorn | Date |
|
||||
|:--------|:----------------|:-----------|
|
||||
| 22 | 15.4 standalone | 2024-03-23 |
|
||||
| 21.0.2 | 15.4 standalone | 2024-03-23 |
|
||||
| 21.0.3 | 15.4 standalone | 2024-05-24 |
|
||||
| 20.0.2 | 15.4 standalone | 2024-03-23 |
|
||||
| 19.0.2 | 15.4 standalone | 2024-03-23 |
|
||||
| 18.0.2 | 15.4 standalone | 2024-03-23 |
|
||||
|
@ -266,9 +266,9 @@ This demo was tested in the following deployments:
|
||||
| `darwin-x64` | `6a89d7c` | 2024-03-15 |
|
||||
| `darwin-arm` | `d378a9f` | 2024-05-23 |
|
||||
| `win10-x64` | `9e561d5` | 2024-03-04 |
|
||||
| `win11-arm` | `03cc5ec` | 2023-12-01 |
|
||||
| `win11-arm` | `d378a9f` | 2024-05-25 |
|
||||
| `linux-x64` | `3b45d15` | 2024-04-25 |
|
||||
| `linux-arm` | `03cc5ec` | 2023-12-01 |
|
||||
| `linux-arm` | `d378a9f` | 2024-05-25 |
|
||||
|
||||
When the demo was tested, `d378a9f` was the HEAD commit on the `master` branch.
|
||||
|
||||
|
@ -367,7 +367,7 @@ This demo was tested in the following deployments:
|
||||
| `darwin-x64` | `d070c74` | 2024-04-25 |
|
||||
| `darwin-arm` | `d070c74` | 2024-05-23 |
|
||||
| `linux-x64` | `d217af8` | 2024-03-21 |
|
||||
| `linux-arm` | `84732b3` | 2023-12-01 |
|
||||
| `linux-arm` | `d070c74` | 2024-05-25 |
|
||||
|
||||
The main Hermes source tree does not have Windows support. The `hermes-windows`
|
||||
fork, which powers React Native for Windows, does have built-in support[^5]
|
||||
@ -405,6 +405,12 @@ On Debian and Ubuntu:
|
||||
sudo apt install cmake git ninja-build libicu-dev python zip libreadline-dev
|
||||
```
|
||||
|
||||
:::note pass
|
||||
|
||||
When using virtual machines, Linux builds require at least 8 GB memory.
|
||||
|
||||
:::
|
||||
|
||||
</details>
|
||||
|
||||
1) Make a project directory:
|
||||
|
@ -71,13 +71,15 @@ This demo was tested in the following deployments:
|
||||
| Platform | Ruby | ExecJS | Date |
|
||||
|:-------------|:---------|:--------|:-----------|
|
||||
| `darwin-x64` | `2.6.10` | `2.9.1` | 2024-04-25 |
|
||||
| `darwin-arm` | `2.6.10` | `2.9.1` | 2023-12-01 |
|
||||
| `darwin-arm` | `2.6.10` | `2.9.1` | 2024-05-25 |
|
||||
| `win10-x64` | `3.2.3` | `2.9.1` | 2024-03-10 |
|
||||
| `win11-arm` | `3.0.2` | `2.9.1` | 2023-12-01 |
|
||||
| `win11-arm` | `3.0.2` | `2.9.1` | 2024-05-25 |
|
||||
| `linux-x64` | `3.0.5` | `2.9.1` | 2024-03-21 |
|
||||
| `linux-arm` | `2.7.4` | `2.9.1` | 2023-12-01 |
|
||||
| `linux-arm` | `3.1.2` | `2.9.1` | 2024-05-25 |
|
||||
|
||||
**Note: The Windows 11 ARM64 test used the Ruby version that ships with WSL.**
|
||||
When the demo was last tested, there was no official Ruby release for Windows
|
||||
on ARM. The `win11-arm` test was run in WSL. The `win10-x64` test used the
|
||||
official Ruby for Windows x64 release.
|
||||
|
||||
:::
|
||||
|
||||
|
@ -123,9 +123,21 @@ This demo was tested in the following deployments:
|
||||
| `darwin-x64` | `0.18.0` | 2024-04-25 |
|
||||
| `darwin-arm` | `0.18.0` | 2024-05-23 |
|
||||
| `win10-x64` | `0.18.0` | 2024-04-25 |
|
||||
| `win11-arm` | `0.17.3` | 2023-12-01 |
|
||||
| `win11-arm` | `0.18.0` | 2024-05-25 |
|
||||
| `linux-x64` | `0.18.0` | 2024-03-21 |
|
||||
| `linux-arm` | `0.17.3` | 2023-12-01 |
|
||||
| `linux-arm` | `0.18.0` | 2024-05-25 |
|
||||
|
||||
:::
|
||||
|
||||
0) Install Rust.
|
||||
|
||||
:::caution pass
|
||||
|
||||
Boa `0.18.0` requires Rust version `1.67` or later.
|
||||
|
||||
Debian 12 (Bullseye) ships with Rust version `1.63.0`.
|
||||
|
||||
It is strongly recommended to install Rust from the official distribution.
|
||||
|
||||
:::
|
||||
|
||||
|
@ -102,14 +102,21 @@ write_file("SheetJE.fods", $fods);
|
||||
|
||||
:::note Tested Deployments
|
||||
|
||||
This demo was tested on 2024-02-13 against JE 0.066
|
||||
This demo was tested in the following deployments:
|
||||
|
||||
| Architecture | Version | Date |
|
||||
|:-------------|:--------|:-----------|
|
||||
| `darwin-x64` | `0.066` | 2024-02-13 |
|
||||
| `darwin-arm` | `0.066` | 2024-05-25 |
|
||||
| `linux-x64` | `0.066` | 2024-02-13 |
|
||||
| `linux-arm` | `0.066` | 2024-05-25 |
|
||||
|
||||
:::
|
||||
|
||||
1) Install `JE` through CPAN:
|
||||
1) Install `JE` and `File::Slurp` through CPAN:
|
||||
|
||||
```bash
|
||||
cpan install JE
|
||||
cpan install JE File::Slurp
|
||||
```
|
||||
|
||||
2) Download the [ExtendScript build](/docs/getting-started/installation/extendscript):
|
||||
|
@ -36,12 +36,12 @@ This demo was tested in the following environments:
|
||||
|
||||
| Architecture | Commit | Date |
|
||||
|:-------------|:----------|:-----------|
|
||||
| `darwin-x64` | `47bd5d4` | 2024-04-25 |
|
||||
| `darwin-arm` | `ef4cb2b` | 2023-12-08 |
|
||||
| `darwin-x64` | `35465ed` | 2024-05-25 |
|
||||
| `darwin-arm` | `35465ed` | 2024-05-25 |
|
||||
| `win10-x64` | `47bd5d4` | 2024-04-14 |
|
||||
| `win11-arm` | `ef4cb2b` | 2023-12-08 |
|
||||
| `win11-arm` | `35465ed` | 2024-05-25 |
|
||||
| `linux-x64` | `cefd391` | 2024-03-21 |
|
||||
| `linux-arm` | `ef4cb2b` | 2023-12-08 |
|
||||
| `linux-arm` | `35465ed` | 2024-05-25 |
|
||||
|
||||
The Windows tests were run in WSL.
|
||||
|
||||
@ -413,17 +413,6 @@ as a Base64 string and directly add it to an amalgamated script.
|
||||
|
||||
0) Build the library and command line tool with required options.
|
||||
|
||||
:::info pass
|
||||
|
||||
The "Integration Example" builds JerryScript. The CLI test must be run from the
|
||||
repo folder.
|
||||
|
||||
```bash
|
||||
cd jerryscript
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
If the "Integration Example" was not tested, run the following commands:
|
||||
|
||||
```bash
|
||||
@ -432,6 +421,12 @@ cd jerryscript
|
||||
python3 tools/build.py --error-messages=ON --logging=ON --mem-heap=8192 --cpointer-32bit=ON
|
||||
```
|
||||
|
||||
If the "Integration Example" was tested, enter the `jerryscript` folder:
|
||||
|
||||
```bash
|
||||
cd jerryscript
|
||||
```
|
||||
|
||||
1) Download the SheetJS Standalone script, shim script and test file. Move all
|
||||
three files to the `jerryscript` cloned repo directory:
|
||||
|
||||
|
@ -54,9 +54,12 @@ This demo was tested in the following deployments:
|
||||
|
||||
| OpenJDK | GraalJS | Date |
|
||||
|:--------|:--------|:-----------|
|
||||
| 22 | 24.0.0 | 2024-03-23 |
|
||||
| 21.0.2 | 24.0.0 | 2024-03-23 |
|
||||
| 17.0.8 | 24.0.1 | 2024-05-23 |
|
||||
| 22 | 24.0.1 | 2024-05-25 |
|
||||
| 21.0.3 | 24.0.1 | 2024-05-25 |
|
||||
| 20.0.2 | 24.0.1 | 2024-05-25 |
|
||||
| 19.0.2 | 24.0.1 | 2024-05-25 |
|
||||
| 18.0.2 | 24.0.1 | 2024-05-25 |
|
||||
| 17.0.10 | 24.0.1 | 2024-05-25 |
|
||||
|
||||
:::
|
||||
|
||||
|
@ -322,9 +322,10 @@ This demo was tested in the following deployments:
|
||||
|
||||
| Architecture | Version | Date |
|
||||
|:-------------|:--------|:-----------|
|
||||
| `darwin-x64` | `1.3.4` | 2024-04-21 |
|
||||
| `darwin-x64` | `1.3.4` | 2024-05-25 |
|
||||
| `darwin-arm` | `1.3.4` | 2024-05-23 |
|
||||
| `linux-x64` | `1.3.4` | 2024-04-21 |
|
||||
| `linux-arm` | `1.3.4` | 2024-05-25 |
|
||||
|
||||
:::
|
||||
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 102 KiB |
17
tests/engines-boa.sh
Executable file
17
tests/engines-boa.sh
Executable file
@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
# https://docs.sheetjs.com/docs/demos/engines/boa
|
||||
|
||||
cd /tmp
|
||||
rm -rf sheetjs-boa
|
||||
|
||||
cargo new sheetjs-boa
|
||||
cd sheetjs-boa
|
||||
cargo run; echo $?
|
||||
|
||||
cargo add boa_engine
|
||||
|
||||
curl -LO https://cdn.sheetjs.com/xlsx-latest/package/dist/xlsx.full.min.js
|
||||
curl -LO https://sheetjs.com/pres.xlsx
|
||||
|
||||
curl -L -o src/main.rs https://docs.sheetjs.com/boa/main.rs
|
||||
cargo run --release; echo $?
|
13
tests/engines-execjs.sh
Executable file
13
tests/engines-execjs.sh
Executable file
@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
# https://docs.sheetjs.com/docs/demos/engines/rb
|
||||
cd /tmp
|
||||
rm -rf sheetjs-rb
|
||||
mkdir -p sheetjs-rb
|
||||
cd sheetjs-rb
|
||||
|
||||
curl -LO https://cdn.sheetjs.com/xlsx-latest/package/dist/xlsx.full.min.js
|
||||
curl -LO https://sheetjs.com/pres.numbers
|
||||
|
||||
curl -LO https://docs.sheetjs.com/execjs/ExecSheetJS.rb
|
||||
|
||||
ruby ExecSheetJS.rb pres.numbers; echo $?
|
20
tests/engines-goja.sh
Executable file
20
tests/engines-goja.sh
Executable file
@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
# https://docs.sheetjs.com/docs/demos/engines/goja
|
||||
|
||||
cd /tmp
|
||||
rm -rf SheetGoja
|
||||
|
||||
mkdir SheetGoja
|
||||
cd SheetGoja
|
||||
go mod init SheetGoja
|
||||
go get github.com/dop251/goja
|
||||
|
||||
curl -LO https://cdn.sheetjs.com/xlsx-latest/package/dist/shim.min.js
|
||||
curl -LO https://cdn.sheetjs.com/xlsx-latest/package/dist/xlsx.full.min.js
|
||||
curl -LO https://sheetjs.com/pres.numbers
|
||||
|
||||
curl -LO https://docs.sheetjs.com/goja/SheetGoja.go
|
||||
|
||||
go build SheetGoja.go
|
||||
|
||||
./SheetGoja pres.numbers
|
38
tests/engines-graaljs.sh
Executable file
38
tests/engines-graaljs.sh
Executable file
@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
# https://docs.sheetjs.com/docs/demos/engines/graaljs
|
||||
cd /tmp
|
||||
rm -rf sheetjs-graaljs
|
||||
mkdir -p sheetjs-graaljs
|
||||
cd sheetjs-graaljs
|
||||
|
||||
curl -LO "https://repo1.maven.org/maven2/org/graalvm/js/js-scriptengine/24.0.1/js-scriptengine-24.0.1.jar"
|
||||
curl -LO "https://repo1.maven.org/maven2/org/graalvm/js/js-language/24.0.1/js-language-24.0.1.jar"
|
||||
curl -LO "https://repo1.maven.org/maven2/org/graalvm/polyglot/polyglot/24.0.1/polyglot-24.0.1.jar"
|
||||
curl -LO "https://repo1.maven.org/maven2/org/graalvm/sdk/collections/24.0.1/collections-24.0.1.jar"
|
||||
curl -LO "https://repo1.maven.org/maven2/org/graalvm/truffle/truffle-api/24.0.1/truffle-api-24.0.1.jar"
|
||||
curl -LO "https://repo1.maven.org/maven2/org/graalvm/sdk/nativeimage/24.0.1/nativeimage-24.0.1.jar"
|
||||
curl -LO "https://repo1.maven.org/maven2/org/graalvm/shadowed/icu4j/24.0.1/icu4j-24.0.1.jar"
|
||||
curl -LO "https://repo1.maven.org/maven2/org/graalvm/regex/regex/24.0.1/regex-24.0.1.jar"
|
||||
|
||||
curl -LO https://cdn.sheetjs.com/xlsx-latest/package/dist/xlsx.full.min.js
|
||||
curl -LO https://cdn.sheetjs.com/xlsx-latest/package/dist/shim.min.js
|
||||
curl -LO https://sheetjs.com/pres.xlsx
|
||||
|
||||
curl -LO https://docs.sheetjs.com/nashorn/SheetJSNashorn.java
|
||||
|
||||
for n in {17..22}; do
|
||||
export JAVA_HOME=`/usr/libexec/java_home -v $n`
|
||||
java -version
|
||||
rm -fr SheetJSNashorn.class SheetJSNashorn.jar sheethorn
|
||||
javac SheetJSNashorn.java
|
||||
|
||||
java -cp ".:js-scriptengine-24.0.1.jar:js-language-24.0.1.jar:polyglot-24.0.1.jar:collections-24.0.1.jar:truffle-api-24.0.1.jar:nativeimage-24.0.1.jar:icu4j-24.0.1.jar:regex-24.0.1.jar" -Dpolyglot.js.nashorn-compat=true SheetJSNashorn pres.xlsx
|
||||
|
||||
jar -cf SheetJSNashorn.jar SheetJSNashorn.class xlsx.full.min.js shim.min.js
|
||||
|
||||
mkdir -p sheethorn
|
||||
cp *.jar pres.xlsx sheethorn
|
||||
cd sheethorn
|
||||
java -cp ".:js-scriptengine-24.0.1.jar:js-language-24.0.1.jar:polyglot-24.0.1.jar:collections-24.0.1.jar:truffle-api-24.0.1.jar:nativeimage-24.0.1.jar:icu4j-24.0.1.jar:regex-24.0.1.jar:SheetJSNashorn.jar" -Dpolyglot.js.nashorn-compat=true SheetJSNashorn pres.xlsx
|
||||
cd -
|
||||
done
|
22
tests/engines-hermes.sh
Executable file
22
tests/engines-hermes.sh
Executable file
@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
# https://docs.sheetjs.com/docs/demos/engines/hermes
|
||||
|
||||
cd /tmp
|
||||
rm -rf sheetjs-hermes
|
||||
mkdir -p sheetjs-hermes
|
||||
cd sheetjs-hermes
|
||||
|
||||
curl -LO https://docs.sheetjs.com/hermes/Makefile
|
||||
curl -LO https://docs.sheetjs.com/hermes/sheetjs-hermes.cpp
|
||||
|
||||
make init
|
||||
|
||||
make sheetjs-hermes
|
||||
|
||||
curl -LO https://cdn.sheetjs.com/xlsx-latest/package/dist/xlsx.full.min.js
|
||||
curl -LO https://sheetjs.com/pres.numbers
|
||||
|
||||
cp ./build_release/API/hermes/libhermes.* .
|
||||
cp ./build_release/jsi/libjsi.* .
|
||||
|
||||
./sheetjs-hermes pres.numbers; echo $?
|
37
tests/engines-jerryscript.sh
Executable file
37
tests/engines-jerryscript.sh
Executable file
@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
# https://docs.sheetjs.com/docs/demos/engines/jerryscript
|
||||
cd /tmp
|
||||
rm -rf SheetJSJerry
|
||||
mkdir -p SheetJSJerry
|
||||
cd SheetJSJerry
|
||||
|
||||
git clone --depth=1 https://github.com/jerryscript-project/jerryscript.git
|
||||
cd jerryscript
|
||||
python3 tools/build.py --error-messages=ON --logging=ON --mem-heap=8192 --cpointer-32bit=ON
|
||||
cd ..
|
||||
|
||||
curl -LO https://cdn.sheetjs.com/xlsx-latest/package/dist/xlsx.full.min.js
|
||||
curl -LO https://cdn.sheetjs.com/xlsx-latest/package/dist/shim.min.js
|
||||
curl -LO https://sheetjs.com/pres.xlsx
|
||||
|
||||
# Integration Example
|
||||
curl -LO https://docs.sheetjs.com/jerryscript/sheetjs.jerry.c
|
||||
|
||||
gcc -o sheetjs.jerry -Ijerryscript/jerry-ext/include -Ijerryscript/jerry-math/include -Ijerryscript/jerry-core/include sheetjs.jerry.c -ljerry-core -ljerry-ext -ljerry-port -lm -Ljerryscript/build/lib -Wno-pointer-sign
|
||||
./sheetjs.jerry pres.xlsx; echo $?
|
||||
|
||||
# CLI Test
|
||||
node -e "fs.writeFileSync('payload.js', 'var payload = \"' + fs.readFileSync('pres.xlsx').toString('base64') + '\";')"
|
||||
|
||||
cat >global.js <<EOF
|
||||
var global = (function(){ return this; }).call(null);
|
||||
var console = { log: function(x) { print(x); } };
|
||||
EOF
|
||||
|
||||
cat >jerry.js <<EOF
|
||||
var wb = XLSX.read(payload, {type:'base64'});
|
||||
console.log(XLSX.utils.sheet_to_csv(wb.Sheets[wb.SheetNames[0]]));
|
||||
EOF
|
||||
|
||||
cat global.js xlsx.full.min.js payload.js jerry.js > xlsx.jerry.js
|
||||
jerryscript/build/bin/jerry xlsx.jerry.js; echo $?
|
26
tests/engines-mujs.sh
Executable file
26
tests/engines-mujs.sh
Executable file
@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
# https://docs.sheetjs.com/docs/demos/engines/mujs
|
||||
|
||||
cd /tmp
|
||||
rm -rf sheetjs-mu
|
||||
|
||||
mkdir sheetjs-mu
|
||||
cd sheetjs-mu
|
||||
|
||||
curl -LO https://mujs.com/downloads/mujs-1.3.4.zip
|
||||
unzip mujs-1.3.4.zip
|
||||
cd mujs-1.3.4
|
||||
make release
|
||||
cd ..
|
||||
|
||||
cp mujs-1.3.4/build/release/libmujs.a mujs-1.3.4/mujs.h .
|
||||
|
||||
curl -LO https://docs.sheetjs.com/mujs/SheetJSMu.c
|
||||
|
||||
gcc -o SheetJSMu SheetJSMu.c -L. -lmujs -lm -lc -std=c89 -Wall
|
||||
|
||||
curl -LO https://cdn.sheetjs.com/xlsx-latest/package/dist/shim.min.js
|
||||
curl -LO https://cdn.sheetjs.com/xlsx-latest/package/dist/xlsx.full.min.js
|
||||
curl -LO https://sheetjs.com/pres.xlsb
|
||||
|
||||
./SheetJSMu pres.xlsb
|
54
tests/engines-rhino.sh
Executable file
54
tests/engines-rhino.sh
Executable file
@ -0,0 +1,54 @@
|
||||
#!/bin/bash
|
||||
# https://docs.sheetjs.com/docs/demos/engines/rhino
|
||||
|
||||
cd /tmp
|
||||
rm -rf sheetjs-java
|
||||
mkdir -p sheetjs-java
|
||||
cd sheetjs-java
|
||||
|
||||
curl -L -o rhino.jar https://repo1.maven.org/maven2/org/mozilla/rhino/1.7.15/rhino-1.7.15.jar
|
||||
|
||||
curl -LO https://cdn.sheetjs.com/xlsx-0.20.2/package/dist/xlsx.full.min.js
|
||||
curl -LO https://docs.sheetjs.com/pres.xlsx
|
||||
|
||||
curl -LO https://docs.sheetjs.com/rhino/SheetJSRhino.zip
|
||||
unzip SheetJSRhino.zip
|
||||
|
||||
cat >SheetJSRhino.java <<EOF
|
||||
/* sheetjs (C) 2013-present SheetJS -- https://sheetjs.com */
|
||||
/* vim: set ts=2: */
|
||||
import com.sheetjs.SheetJS;
|
||||
import com.sheetjs.SheetJSFile;
|
||||
import com.sheetjs.SheetJSSheet;
|
||||
|
||||
public class SheetJSRhino {
|
||||
public static void main(String args[]) throws Exception {
|
||||
try {
|
||||
SheetJS sjs = new SheetJS();
|
||||
|
||||
/* open file */
|
||||
SheetJSFile xl = sjs.read_file(args[0]);
|
||||
|
||||
/* get sheetnames */
|
||||
String[] sheetnames = xl.get_sheet_names();
|
||||
System.err.println(sheetnames[0]);
|
||||
|
||||
/* convert to CSV */
|
||||
SheetJSSheet sheet = xl.get_sheet(0);
|
||||
String csv = sheet.get_csv();
|
||||
System.out.println(csv);
|
||||
} catch(Exception e) { throw e; } finally { SheetJS.close(); }
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
for n in 1.8 {9..22}; do
|
||||
export JAVA_HOME=`/usr/libexec/java_home -v $n`
|
||||
java -version
|
||||
find . -name \*.class | while read x; do rm $x; done
|
||||
|
||||
javac -cp ".:rhino.jar" SheetJSRhino.java
|
||||
jar -cf SheetJS.jar SheetJSRhino.class com/sheetjs/*.class xlsx.full.min.js
|
||||
|
||||
java -cp ".:SheetJS.jar:rhino.jar" SheetJSRhino pres.xlsx
|
||||
done
|
Loading…
Reference in New Issue
Block a user