| 
									
										
										
										
											2022-05-16 03:26:04 +00:00
										 |  |  | --- | 
					
						
							| 
									
										
										
										
											2022-08-24 23:48:22 +00:00
										 |  |  | pagination_prev: csf/index | 
					
						
							| 
									
										
										
										
											2022-05-16 03:26:04 +00:00
										 |  |  | sidebar_position: 5 | 
					
						
							| 
									
										
										
										
											2022-08-13 22:01:26 +00:00
										 |  |  | title: API Reference | 
					
						
							| 
									
										
										
										
											2022-05-16 03:26:04 +00:00
										 |  |  | --- | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-20 01:21:34 +00:00
										 |  |  | import current from '/version.js'; | 
					
						
							| 
									
										
										
										
											2022-05-16 03:26:04 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-20 01:21:34 +00:00
										 |  |  | This section lists the functions defined in the library. | 
					
						
							| 
									
										
										
										
											2022-05-16 03:26:04 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-20 01:21:34 +00:00
										 |  |  | Using the ["Standalone" scripts](/docs/getting-started/installation/standalone), | 
					
						
							|  |  |  | `XLSX` is added to the `window` or other `global` object. | 
					
						
							| 
									
										
										
										
											2022-05-16 03:26:04 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-20 01:21:34 +00:00
										 |  |  | Using the ["NodeJS" module](/docs/getting-started/installation/nodejs), the | 
					
						
							|  |  |  | `XLSX` variable refers to the CommonJS export: | 
					
						
							| 
									
										
										
										
											2022-05-16 03:26:04 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-20 01:21:34 +00:00
										 |  |  | ```js | 
					
						
							|  |  |  | var XLSX = require("xlsx"); | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Using [a framework](/docs/getting-started/installation/frameworks), the `XLSX` | 
					
						
							|  |  |  | variable refers to the glob import: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ```js | 
					
						
							|  |  |  | import * as XLSX from "xlsx"; | 
					
						
							|  |  |  | ``` | 
					
						
							| 
									
										
										
										
											2022-06-22 19:25:24 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-30 05:45:37 +00:00
										 |  |  | Parse options are described in the [Parsing Options](/docs/api/parse-options) section. | 
					
						
							| 
									
										
										
										
											2022-05-16 03:26:04 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | ## 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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-30 05:45:37 +00:00
										 |  |  | Write options are described in the [Writing Options](/docs/api/write-options) section. | 
					
						
							| 
									
										
										
										
											2022-05-16 03:26:04 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | ## Utilities
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-06-01 22:59:29 +00:00
										 |  |  | Utilities are available in the `XLSX.utils` object. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-27 23:07:45 +00:00
										 |  |  | The methods are covered in dedicated pages: | 
					
						
							| 
									
										
										
										
											2022-06-01 22:59:29 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-27 23:07:45 +00:00
										 |  |  | **[`A1` Utilities](/docs/csf/general#utilities)** | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | _Cell and cell address manipulation:_ | 
					
						
							| 
									
										
										
										
											2022-06-01 22:59:29 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | - `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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-13 17:49:52 +00:00
										 |  |  | **["Arrays of Data" section of "Utility Functions"](/docs/api/utilities/array)** | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | _Importing Data:_ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - `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. | 
					
						
							|  |  |  | - `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. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | _Exporting Data:_ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - `sheet_to_json` converts a worksheet object to an array of JSON objects. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-27 23:07:45 +00:00
										 |  |  | **["HTML" section of "Utility Functions"](/docs/api/utilities/html)** | 
					
						
							| 
									
										
										
										
											2023-05-18 22:41:23 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-27 23:07:45 +00:00
										 |  |  | _Reading from HTML:_ | 
					
						
							| 
									
										
										
										
											2023-05-18 22:41:23 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | - `table_to_sheet` converts a DOM TABLE element to a worksheet. | 
					
						
							|  |  |  | - `table_to_book` converts a DOM TABLE element to a worksheet. | 
					
						
							|  |  |  | - `sheet_add_dom` adds data from a DOM TABLE element to an existing worksheet. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-27 23:07:45 +00:00
										 |  |  | _Writing HTML:_ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - `sheet_to_html` generates HTML output. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | **["CSV and Text" section of "Utility Functions"](/docs/api/utilities/csv)** | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | _Writing CSV and Text:_ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - `sheet_to_csv` generates delimiter-separated-values output. | 
					
						
							|  |  |  | - `sheet_to_txt` generates UTF-16 formatted text. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | **["Array of Formulae" section of "Utility Functions"](/docs/api/utilities/formulae)** | 
					
						
							| 
									
										
										
										
											2022-05-16 03:26:04 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-27 23:07:45 +00:00
										 |  |  | _Exporting Formulae:_ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - `sheet_to_formulae` generates a list of formulae or cell value assignments. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-25 09:36:58 +00:00
										 |  |  | **["Workbook Helpers" section of "Utility Functions"](/docs/api/utilities/wb)** | 
					
						
							| 
									
										
										
										
											2023-05-27 23:07:45 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | _Workbook Operations:_ | 
					
						
							| 
									
										
										
										
											2022-05-16 03:26:04 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | - `book_new` creates an empty workbook | 
					
						
							|  |  |  | - `book_append_sheet` adds a worksheet to a workbook | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-25 09:36:58 +00:00
										 |  |  | **[Utility Functions](/docs/api/utilities)** | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-27 23:07:45 +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) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-30 06:41:09 +00:00
										 |  |  | Streaming write functions are described in the [Streaming Write demo](/docs/demos/bigdata/stream#streaming-write). | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-06-22 19:25:24 +00:00
										 |  |  | ### 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 | 
					
						
							| 
									
										
										
										
											2022-08-25 08:22:28 +00:00
										 |  |  | for different languages in XLS or text parsing. | 
					
						
							| 
									
										
										
										
											2022-06-22 19:25:24 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | `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 | 
					
						
							| 
									
										
										
										
											2023-06-20 01:21:34 +00:00
										 |  |  | provides NodeJS ESM support for the streaming operations. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ESM helper functions are described in the ["NodeJS" Installation section](/docs/getting-started/installation/nodejs) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Miscellaneous
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | `XLSX.version` is the version of the library. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | :::note pass | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <p>The current version is <code>{current}</code></p> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ::: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | `XLSX.SSF` is an embedded version of the [format library](https://git.sheetjs.com/sheetjs/sheetjs/src/branch/master/packages/ssf). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | `XLSX.CFB` is an embedded version of the [container library](https://git.sheetjs.com/sheetjs/js-cfb). |