forked from sheetjs/docs.sheetjs.com
		
	write-methods
This commit is contained in:
		
							parent
							
								
									34938cc39a
								
							
						
					
					
						commit
						2e540f5b15
					
				| @ -5,19 +5,57 @@ title: Writing Files | ||||
| --- | ||||
| 
 | ||||
| import current from '/version.js'; | ||||
| 
 | ||||
| # Writing Options | ||||
| 
 | ||||
| import Tabs from '@theme/Tabs'; | ||||
| import TabItem from '@theme/TabItem'; | ||||
| 
 | ||||
| `XLSX.write(wb, write_opts)` attempts to write the workbook `wb` | ||||
| **`XLSX.write(wb, options)`** | ||||
| 
 | ||||
| `write` attempts to write the workbook `wb` and return the file. | ||||
| 
 | ||||
| The `options` argument is required.  It must specify | ||||
| - [`bookType`](#supported-output-formats) (file format of the exported file) | ||||
| - [`type`](#output-type) (return value type) | ||||
| 
 | ||||
| **`XLSX.writeFile(wb, filename, options)`** | ||||
| 
 | ||||
| `writeFile` attempts to write `wb` to a local file with specified `filename`. | ||||
| 
 | ||||
| `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. | ||||
| It also supports NodeJS, Extendscript applications, and Chromium extensions. | ||||
| 
 | ||||
| `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. | ||||
| If `options` is omitted or if `bookType` is missing from the `options` object, | ||||
| the output file format will be deduced from the filename extension. | ||||
| 
 | ||||
| <details><summary><b>NodeJS-specific methods</b> (click to show)</summary> | ||||
| 
 | ||||
| **`XLSX.writeFileAsync(filename, wb, cb)`** | ||||
| 
 | ||||
| **`XLSX.writeFileAsync(filename, wb, options, cb)`** | ||||
| 
 | ||||
| attempt to write `wb` to `filename` and invoke the callback `cb` on completion. | ||||
| 
 | ||||
| When an `options` object is specified, it is expected to be the third argument. | ||||
| 
 | ||||
| This method only works in NodeJS and uses `fs.writeFile` under the hood. | ||||
| 
 | ||||
| </details> | ||||
| 
 | ||||
| :::note Recommendation | ||||
| 
 | ||||
| `writeFile` wraps a number of export techniques, making it suitable for browser | ||||
| downloads, NodeJS, Extendscript apps, and Chromium extensions.  It does not work | ||||
| in other environments with more advanced export methods. | ||||
| 
 | ||||
| The `write` method returns raw bytes or strings that can be exported in | ||||
| [Desktop apps](/docs/demos/desktop/) , [Mobile apps](/docs/demos/mobile) , and | ||||
| [Servers](/docs/demos/net/server). | ||||
| 
 | ||||
| The [demos](/docs/demos) preferentially use `writeFile`. When `writeFile` is not | ||||
| supported, the demos show file creation using `write` and platform APIs. | ||||
| 
 | ||||
| ::: | ||||
| 
 | ||||
| ## Writing Options | ||||
| 
 | ||||
| The write functions accept an options argument: | ||||
| 
 | ||||
| @ -200,7 +238,7 @@ output formats.  The specific file type is controlled with `bookType` option: | ||||
| 
 | ||||
| ## Output Type | ||||
| 
 | ||||
| The `type` argument for `write` mirrors the `type` argument for `read`: | ||||
| The `type` option specifies the JS form of the output: | ||||
| 
 | ||||
| | `type`     | output                                                          | | ||||
| |------------|-----------------------------------------------------------------| | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user