forked from sheetjs/docs.sheetjs.com
		
	electron19
This commit is contained in:
		
							parent
							
								
									b01bf3873c
								
							
						
					
					
						commit
						3c8a75c5e3
					
				| @ -137,7 +137,7 @@ from the main or the renderer thread. | ||||
| Electron presents a `fs` module.  The `require('xlsx')` call loads the CommonJS | ||||
| module, so `XLSX.readFile` and `XLSX.writeFile` work in the renderer thread. | ||||
| 
 | ||||
| This demo was tested against Electron 19.0.5 on an Intel Mac (`darwin-x64`). | ||||
| This demo was tested on 2022 November 07 with Electron 21.2.2 on `darwin-x64`. | ||||
| 
 | ||||
| <details><summary><b>Complete Example</b> (click to show)</summary> | ||||
| 
 | ||||
| @ -327,7 +327,7 @@ function importFile(workbook) { | ||||
| ### Electron Breaking Changes | ||||
| 
 | ||||
| The first version of this demo used Electron 1.7.5.  The current demo includes | ||||
| the required changes for Electron 19.0.5. | ||||
| the required changes for Electron 19.2.2. | ||||
| 
 | ||||
| There are no Electron-specific workarounds in the library, but Electron broke | ||||
| backwards compatibility multiple times.  A summary of changes is noted below. | ||||
|  | ||||
| @ -377,7 +377,7 @@ XLSX.writeFile(wb, "bun.xlsx"); | ||||
|   </TabItem> | ||||
|   <TabItem value="deno" label="Deno"> | ||||
| 
 | ||||
| [`sqlite` library](https://deno.land/x/sqlite/) returns raw arrays of arrays. | ||||
| Deno `sqlite` library returns raw arrays of arrays. | ||||
| 
 | ||||
| 1) Save the following to `deno.ts`: | ||||
| 
 | ||||
| @ -429,11 +429,6 @@ XLSX.writeFile(wb, "deno.xlsx"); | ||||
| 
 | ||||
| This information is included for legacy deployments.  Web SQL is deprecated. | ||||
| 
 | ||||
| <https://caniuse.com/sql-storage> has up-to-date info on browser support. | ||||
| [Firefox](https://nolanlawson.com/2014/04/26/web-sql-database-in-memoriam/) | ||||
| never supported Web SQL. Safari 13 dropped support. As of the time of writing, | ||||
| the current Chrome version (103) supports WebSQL. | ||||
| 
 | ||||
| :::: | ||||
| 
 | ||||
| WebSQL was a popular SQL-based in-browser database available on Chrome.  In | ||||
|  | ||||
| @ -180,8 +180,7 @@ function ClipboardWrite() { | ||||
| 
 | ||||
| ## Electron | ||||
| 
 | ||||
| Electron [Clipboard API](https://www.electronjs.org/docs/latest/api/clipboard) | ||||
| supports HTML and RTF clipboards. | ||||
| Electron Clipboard API supports HTML and RTF clipboards. | ||||
| 
 | ||||
| There are special methods for specific clipboard types: | ||||
| 
 | ||||
| @ -193,6 +192,21 @@ There are special methods for specific clipboard types: | ||||
| 
 | ||||
| Each method operates on JS strings. | ||||
| 
 | ||||
| `clipboard.write` can assign to multiple clipboard types: | ||||
| 
 | ||||
| ```js | ||||
| const { clipboard } = require('electron'); | ||||
| const XLSX = require('xlsx'); | ||||
| 
 | ||||
| function copy_first_sheet_to_clipboard(workbook) { | ||||
|   clipboard.write({ | ||||
|     text: XLSX.write(wb, {type: "string", bookType: "txt"}), | ||||
|     rtf:  XLSX.write(wb, {type: "string", bookType: "rtf"}), | ||||
|     html: XLSX.write(wb, {type: "string", bookType: "html"}) | ||||
|   }); | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
| :::caution Experimental Buffer Clipboard Support | ||||
| 
 | ||||
| Electron additionally supports binary operations using `Buffer` objects.  This | ||||
| @ -204,7 +218,7 @@ On the `MacOS` platform, some versions of Excel store a packaged file with key | ||||
| a simple CFB file that can be parsed: | ||||
| 
 | ||||
| ```js | ||||
| const { clipboard } = require('electron') | ||||
| const { clipboard } = require('electron'); | ||||
| const XLSX = require("xlsx"); | ||||
| const buf = clipboard.readBuffer('dyn.ah62d4qmxhk4d425try1g44pdsm11g55gsu1en5pcqzwc4y5tsz3gg3k'); | ||||
| const cfb = XLSX.CFB.read(buf, {type: "buffer"}); | ||||
|  | ||||
| @ -242,8 +242,6 @@ function export_pouchdb_to_xlsx(db) { | ||||
| 
 | ||||
| 0) Download the "Working Version" from the Getting Started guide. | ||||
| 
 | ||||
| [ZIP](https://github.com/nickcolley/getting-started-todo/archive/master.zip) | ||||
| 
 | ||||
| The ZIP file should have `MD5` checksum `ac4da7cb0cade1be293ba222462f109c`: | ||||
| 
 | ||||
| ```bash | ||||
|  | ||||
| @ -5,7 +5,7 @@ | ||||
|   "main": "main.js", | ||||
|   "dependencies": { | ||||
|     "@electron/remote": "2.0.8", | ||||
|     "electron-squirrel-startup": "^1.0.0", | ||||
|     "electron-squirrel-startup": "1.0.0", | ||||
|     "xlsx": "https://cdn.sheetjs.com/xlsx-latest/xlsx-latest.tgz" | ||||
|   }, | ||||
|   "scripts": { | ||||
| @ -14,12 +14,12 @@ | ||||
|     "make": "electron-forge make" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@electron-forge/cli": "^6.0.0-beta.64", | ||||
|     "@electron-forge/maker-deb": "^6.0.0-beta.64", | ||||
|     "@electron-forge/maker-rpm": "^6.0.0-beta.64", | ||||
|     "@electron-forge/maker-squirrel": "^6.0.0-beta.64", | ||||
|     "@electron-forge/maker-zip": "^6.0.0-beta.64", | ||||
|     "electron": "19.0.5" | ||||
|     "@electron-forge/cli": "6.0.0", | ||||
|     "@electron-forge/maker-deb": "6.0.0", | ||||
|     "@electron-forge/maker-rpm": "6.0.0", | ||||
|     "@electron-forge/maker-squirrel": "6.0.0", | ||||
|     "@electron-forge/maker-zip": "6.0.0", | ||||
|     "electron": "21.2.2" | ||||
|   }, | ||||
|   "config": { | ||||
|     "forge": { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user