docs.sheetjs.com/docz/docs/05-interface.md

103 lines
3.7 KiB
Markdown
Raw Normal View History

2022-05-16 03:26:04 +00:00
---
sidebar_position: 5
---
# Interface Summary
`XLSX` is the exposed variable in the browser and the exported node variable
`XLSX.version` is the version of the library (added by the build script).
2022-05-20 03:25:45 +00:00
`XLSX.SSF` is an embedded version of the [format library](https://github.com/SheetJS/sheetjs/tree/master/packages/ssf).
2022-05-16 03:26:04 +00:00
2022-06-22 19:25:24 +00:00
`XLSX.CFB` is an embedded version of the [container library](https://github.com/sheetjs/js-cfb).
2022-05-16 03:26:04 +00:00
## Parsing functions
`XLSX.read(data, read_opts)` attempts to parse `data`.
`XLSX.readFile(filename, read_opts)` attempts to read `filename` and parse.
Parse options are described in the [Parsing Options](./api/parse-options) section.
## Writing functions
2022-06-22 19:25:24 +00:00
`XLSX.write(wb, write_opts)` attempts to write the workbook `wb`.
`XLSX.writeXLSX(wb, write_opts)` attempts to write the workbook in XLSX format.
2022-05-16 03:26:04 +00:00
`XLSX.writeFile(wb, filename, write_opts)` attempts to write `wb` to `filename`.
In browser-based environments, it will attempt to force a client-side download.
2022-06-22 19:25:24 +00:00
`XLSX.writeFileXLSX(wb, filename, write_opts)` attempts to write an XLSX file.
2022-05-16 03:26:04 +00:00
`XLSX.writeFileAsync(filename, wb, o, cb)` attempts to write `wb` to `filename`.
If `o` is omitted, the writer will use the third argument as the callback.
Write options are described in the [Writing Options](./api/write-options) section.
## Utilities
2022-06-01 22:59:29 +00:00
Utilities are available in the `XLSX.utils` object.
The following are described in [A1 Utilities](./csf/general#a1-utilities)
**Cell and cell address manipulation:**
- `encode_row / decode_row` converts between 0-indexed rows and 1-indexed rows.
- `encode_col / decode_col` converts between 0-indexed columns and column names.
- `encode_cell / decode_cell` converts cell addresses.
- `encode_range / decode_range` converts cell ranges.
The following are described in the [Utility Functions](./api/utilities):
2022-05-16 03:26:04 +00:00
**Constructing:**
- `book_new` creates an empty workbook
- `book_append_sheet` adds a worksheet to a workbook
**Importing:**
- `aoa_to_sheet` converts an array of arrays of JS data to a worksheet.
- `json_to_sheet` converts an array of JS objects to a worksheet.
- `table_to_sheet` converts a DOM TABLE element to a worksheet.
- `sheet_add_aoa` adds an array of arrays of JS data to an existing worksheet.
- `sheet_add_json` adds an array of JS objects to an existing worksheet.
2022-06-22 19:25:24 +00:00
- `sheet_add_dom` adds data from a DOM TABLE element to an existing worksheet.
2022-05-16 03:26:04 +00:00
**Exporting:**
- `sheet_to_json` converts a worksheet object to an array of JSON objects.
- `sheet_to_csv` generates delimiter-separated-values output.
- `sheet_to_txt` generates UTF16 formatted text.
- `sheet_to_html` generates HTML output.
- `sheet_to_formulae` generates a list of the formulae (with value fallbacks).
2022-06-01 22:59:29 +00:00
**Miscellaneous**
2022-05-16 03:26:04 +00:00
- `format_cell` generates the text value for a cell (using number formats).
2022-06-22 19:25:24 +00:00
- `sheet_set_array_formula` adds an array formula to a worksheet
## Platform-Specific Functions
### NodeJS Streaming Write functions
`XLSX.stream` contains a set of streaming write functions for NodeJS streams:
- `to_csv(sheet, opts)` streams CSV rows
- `to_html(sheet, opts)` streams an HTML table incrementally
- `to_json(sheet, opts)` streams JS objects (object-mode stream)
### ESM Helpers
Due to broad inconsistencies in ESM implementations, the `mjs` build does not
import any dependencies. Instead, they must be manually passed to the library:
`XLSX.set_cptable` sets the internal `codepage` instance. This provides support
for different language encodings.
`XLSX.set_fs` set `fs` instance (using `readFileSync` and `writeFileSync`). This
provides NodeJS ESM support for `XLSX.readFile` and `XLSX.writeFile`.
`XLSX.utils.set_readable` supplies a NodeJS `stream.Readable` constructor. This
provides NodeJS ESM support for the streaming operations.