add-from-scratch
This commit is contained in:
parent
79aacab553
commit
06e7413d36
@ -119,6 +119,9 @@ This demo was tested in the following environments:
|
||||
| Windows 11 | ARM | `0.78.1` | 2023-09-27 |
|
||||
| Linux (HoloOS) | x64 | `0.78.1` | 2023-09-27 |
|
||||
|
||||
There is no official Linux ARM64 release. The community release[^1] was tested
|
||||
and verified on 2023-09-27.
|
||||
|
||||
:::
|
||||
|
||||
1) Create a `package.json` file that specifies the entry point:
|
||||
@ -172,4 +175,6 @@ the file input element to select a spreadsheet and clicking the export button.
|
||||
npx -p nw-builder nwbuild --mode=build --version=0.78.1 --glob=false --outDir=../out ./
|
||||
```
|
||||
|
||||
This will generate the standalone app in the `..\out\` folder.
|
||||
This will generate the standalone app in the `..\out\` folder.
|
||||
|
||||
[^1]: The [`nw60-arm64_2022-01-08` release](https://github.com/LeonardLaszlo/nw.js-armv7-binaries/releases/tag/nw60-arm64_2022-01-08) included an ARM64 version of `nw`.
|
@ -214,7 +214,9 @@ The [example worksheet](#example-sheet) can be built up in the following order:
|
||||
|
||||
</td><td>
|
||||
|
||||
1) `aoa_to_sheet` writes `A1:G1` (red)
|
||||
0) `aoa_to_sheet([[]])` creates an empty worksheet
|
||||
|
||||
1) `sheet_add_aoa` writes `A1:G1` (red)
|
||||
|
||||
2) `sheet_add_aoa` writes `A2:B4` (blue)
|
||||
|
||||
@ -225,8 +227,11 @@ The [example worksheet](#example-sheet) can be built up in the following order:
|
||||
</td></tr></tbody></table>
|
||||
|
||||
```js
|
||||
/* Initial row */
|
||||
var ws = XLSX.utils.aoa_to_sheet([ "SheetJS".split("") ]);
|
||||
/* Start from an empty worksheet */
|
||||
var ws = XLSX.utils.aoa_to_sheet([[]]);
|
||||
|
||||
/* First row */
|
||||
XLSX.utils.sheet_add_aoa(ws, [ "SheetJS".split("") ], {origin: "A1"});
|
||||
|
||||
/* Write data starting at A2 */
|
||||
XLSX.utils.sheet_add_aoa(ws, [[1,2], [2,3], [3,4]], {origin: "A2"});
|
||||
@ -240,8 +245,11 @@ XLSX.utils.sheet_add_aoa(ws, [[4,5,6,7,8,9,0]], {origin: -1});
|
||||
|
||||
```jsx live
|
||||
function SheetJSAddAOA() { return ( <button onClick={() => {
|
||||
/* Initial row */
|
||||
var ws = XLSX.utils.aoa_to_sheet([ "SheetJS".split("") ]);
|
||||
/* Start from an empty worksheet */
|
||||
var ws = XLSX.utils.aoa_to_sheet([[]]);
|
||||
|
||||
/* First row */
|
||||
XLSX.utils.sheet_add_aoa(ws, [ "SheetJS".split("") ], {origin: "A1"});
|
||||
|
||||
/* Write data starting at A2 */
|
||||
XLSX.utils.sheet_add_aoa(ws, [[1,2], [2,3], [3,4]], {origin: "A2"});
|
||||
@ -410,25 +418,31 @@ an options argument:
|
||||
This example worksheet can be built up in the order `A1:G1, A2:B4, E2:G4, A5:G5`:
|
||||
|
||||
```js
|
||||
/* Initial row */
|
||||
var ws = XLSX.utils.json_to_sheet([
|
||||
/* Start from an empty worksheet */
|
||||
var ws = XLSX.utils.aoa_to_sheet([[]]);
|
||||
|
||||
/* Header order */
|
||||
var header = ["A", "B", "C", "D", "E", "F", "G"];
|
||||
|
||||
/* First row */
|
||||
XLSX.utils.sheet_add_json(ws, [
|
||||
{ A: "S", B: "h", C: "e", D: "e", E: "t", F: "J", G: "S" }
|
||||
], {header: ["A", "B", "C", "D", "E", "F", "G"], skipHeader: true});
|
||||
], {header: header, skipHeader: true});
|
||||
|
||||
/* Write data starting at A2 */
|
||||
XLSX.utils.sheet_add_json(ws, [
|
||||
{ A: 1, B: 2 }, { A: 2, B: 3 }, { A: 3, B: 4 }
|
||||
], {skipHeader: true, origin: "A2"});
|
||||
], {header: header, skipHeader: true, origin: "A2"});
|
||||
|
||||
/* Write data starting at E2 */
|
||||
XLSX.utils.sheet_add_json(ws, [
|
||||
{ A: 5, B: 6, C: 7 }, { A: 6, B: 7, C: 8 }, { A: 7, B: 8, C: 9 }
|
||||
], {skipHeader: true, origin: { r: 1, c: 4 }, header: [ "A", "B", "C" ]});
|
||||
], {header: ["A", "B", "C"], skipHeader: true, origin: { r: 1, c: 4 }});
|
||||
|
||||
/* Append row */
|
||||
XLSX.utils.sheet_add_json(ws, [
|
||||
{ A: 4, B: 5, C: 6, D: 7, E: 8, F: 9, G: 0 }
|
||||
], {header: ["A", "B", "C", "D", "E", "F", "G"], skipHeader: true, origin: -1});
|
||||
], {header: header, skipHeader: true, origin: -1});
|
||||
```
|
||||
|
||||
:::note pass
|
||||
|
Loading…
Reference in New Issue
Block a user