docs.sheetjs.com/docz/docs/03-demos/20-cli/index.md

114 lines
3.3 KiB
Markdown
Raw Permalink Normal View History

2022-07-31 23:45:34 +00:00
---
2024-05-29 05:10:39 +00:00
title: Sheets on the Command Line
sidebar_label: Command-Line Tools
hide_table_of_contents: true
2024-03-18 08:24:41 +00:00
pagination_prev: demos/desktop/index
2023-02-28 11:40:44 +00:00
pagination_next: demos/data/index
2022-07-31 23:45:34 +00:00
---
import current from '/version.js';
2022-08-01 08:15:50 +00:00
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
2023-05-07 13:58:36 +00:00
import CodeBlock from '@theme/CodeBlock';
2024-03-18 08:24:41 +00:00
import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
2024-05-29 05:10:39 +00:00
import FrameworkData from '/data/cli.js'
2022-07-31 23:45:34 +00:00
2024-05-28 05:20:05 +00:00
export const r = {style: {color:"red"}};
export const B = {style: {fontWeight:"bold"}};
2022-08-25 08:22:28 +00:00
With the availability of JS engines and the success of server-side platforms,
2024-03-18 08:24:41 +00:00
it is possible to build standalone command-line tools from JavaScript code.
2022-07-31 23:45:34 +00:00
2024-03-18 08:24:41 +00:00
[SheetJS](https://sheetjs.com) is a JavaScript library for reading and writing
data from spreadsheets.
This demo covers a number of strategies for building standalone spreadsheet
processors. The ultimate goal is to use SheetJS libraries to generate CSV output
from arbitrary spreadsheet files. The generated command-line tool will accept an
argument, parse the specified workbook, and print CSV rows to the terminal.
2024-05-28 05:20:05 +00:00
```bash title="Sample terminal session"
> xlsx-cli.exe pres.numbers
2024-03-18 08:24:41 +00:00
Name,Index
Bill Clinton,42
GeorgeW Bush,43
Barack Obama,44
Donald Trump,45
Joseph Biden,46
```
Demos for common standalone CLI tools are included in separate pages:
<ul>{useCurrentSidebarCategory().items.map((item, index) => {
const listyle = (item.customProps?.icon) ? {
listStyleImage: `url("${item.customProps.icon}")`
} : {};
return (<li style={listyle} {...(item.customProps?.class ? {className: item.customProps.class}: {})}>
<a href={item.href}>{item.label}</a>{item.customProps?.summary && (" - " + item.customProps.summary)}
</li>);
})}</ul>
2022-07-31 23:45:34 +00:00
2024-05-29 05:10:39 +00:00
#### Platform Support
The following frameworks have been tested on the following platforms:
<FrameworkData/>
2024-10-26 03:17:31 +00:00
:::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.
:::
2023-10-11 02:18:57 +00:00
:::tip pass
The [`xlsx-cli`](https://cdn.sheetjs.com/xlsx-cli/) NodeJS script is available
2024-05-29 05:10:39 +00:00
as a package on the SheetJS CDN. It is a straightforward command-line tool for
2023-10-11 02:18:57 +00:00
translating files between supported spreadsheet file formats.
:::
2024-03-18 08:24:41 +00:00
:::caution pass
For most common deployment scenarios, it is possible to install a server-side
platform such as [NodeJS](/docs/getting-started/installation/nodejs).
**It is strongly recommended to use a dedicated platform when possible.**
The standalone programs generated in this demo are useful when a dedicated
server-side scripting platform cannot be installed on the target computer.
:::
2024-05-29 05:10:39 +00:00
#### NodeJS
2024-05-28 05:20:05 +00:00
2024-05-29 05:10:39 +00:00
This demo has been organized by framework:
2024-05-28 05:20:05 +00:00
2024-05-29 05:10:39 +00:00
- [`boxednode`](/docs/demos/cli/boxednode)
- [`nexe`](/docs/demos/cli/nexe)
- [`pkg`](/docs/demos/cli/pkg)
2024-05-28 05:20:05 +00:00
2024-05-29 05:10:39 +00:00
#### V8
2024-05-28 05:20:05 +00:00
2024-05-29 05:10:39 +00:00
**[The exposition has been moved to the "V8" demo.](/docs/demos/engines/v8#snapshots)**
2024-05-28 05:20:05 +00:00
2024-05-29 05:10:39 +00:00
#### BunJS
2024-05-28 05:20:05 +00:00
2024-05-29 05:10:39 +00:00
**[The exposition has been moved to a separate page.](/docs/demos/cli/bunsea)**
2023-05-25 01:36:15 +00:00
2024-03-18 08:24:41 +00:00
#### Deno
2023-05-09 08:08:01 +00:00
2024-05-29 05:10:39 +00:00
**[The exposition has been moved to a separate page.](/docs/demos/cli/denosea)**
2023-05-09 08:08:01 +00:00
2024-05-29 05:10:39 +00:00
#### Dedicated Engines
2023-05-09 08:08:01 +00:00
The following demos for JS engines produce standalone programs:
2024-05-29 05:10:39 +00:00
- [V8](/docs/demos/engines/v8)
2023-05-09 08:08:01 +00:00
- [Duktape](/docs/demos/engines/duktape)
2023-05-23 06:28:14 +00:00
- [ChakraCore](/docs/demos/engines/chakra)
- [QuickJS](/docs/demos/engines/quickjs)
2023-05-09 08:08:01 +00:00
- [Goja](/docs/demos/engines/goja)
- [JavaScriptCore](/docs/demos/engines/jsc)