forked from sheetjs/docs.sheetjs.com
		
	pres
This commit is contained in:
		
							parent
							
								
									f2b446f631
								
							
						
					
					
						commit
						b01bf3873c
					
				| @ -79,7 +79,7 @@ npx browserify xlsxworker.js > worker.js | ||||
| npx http-server | ||||
| ``` | ||||
| 
 | ||||
| 5) Access the site <http://localhost:8080/> and use the file input element to | ||||
| 5) Access the site http://localhost:8080/ and use the file input element to | ||||
| select a spreadsheet. | ||||
| 
 | ||||
| </details> | ||||
|  | ||||
| @ -220,8 +220,7 @@ const { webkit } = require('playwright'); // import desired browser | ||||
| 
 | ||||
| ## PhantomJS | ||||
| 
 | ||||
| PhantomJS is a headless web browser powered by WebKit.  Standalone binaries are | ||||
| available at <https://phantomjs.org/download.html> | ||||
| PhantomJS is a headless web browser powered by WebKit. | ||||
| 
 | ||||
| :::warning | ||||
| 
 | ||||
|  | ||||
| @ -14,7 +14,7 @@ const XLSX = require("xlsx"); | ||||
| 
 | ||||
| (async() => { | ||||
|   /* Download Data */ | ||||
|   const f = await fetch("https://sheetjs.com/pres.xlsx"); | ||||
|   const f = await fetch("https://docs.sheetjs.com/pres.xlsx"); | ||||
|   const data = await f.arrayBuffer(); | ||||
| 
 | ||||
|   /* Parse workbook */ | ||||
| @ -62,69 +62,7 @@ cannot access private repositories. | ||||
| Any publicly available spreadsheet can be a valid data source. The process will | ||||
| fetch the data on specified intervals or events. | ||||
| 
 | ||||
| This demo endpoint <https://livesheet.deno.dev/> generates XLSX files. | ||||
| 
 | ||||
| <details><summary><b>Server Details</b> (click to show)</summary> | ||||
| 
 | ||||
| This demo is hosted on Deno Deploy. | ||||
| 
 | ||||
| ```ts | ||||
| // @deno-types="https://cdn.sheetjs.com/xlsx-latest/package/types/index.d.ts" | ||||
| import { utils, writeXLSX } from 'https://cdn.sheetjs.com/xlsx-latest/package/xlsx.mjs'; | ||||
| 
 | ||||
| import * as Drash from "https://deno.land/x/drash@v2.5.4/mod.ts"; | ||||
| 
 | ||||
| const rand = (x:number, n = 10): number => ((x + n * (Math.random() - 0.5) + 10)|0)%10; | ||||
| 
 | ||||
| class HomeResource extends Drash.Resource { | ||||
|   public paths = ["/"]; | ||||
| 
 | ||||
|   // see https://github.com/drashland/drash/issues/194 | ||||
|   public OPTIONS(request: Drash.Request, response: Drash.Response) { | ||||
|     const allHttpMethods: string[] = [ "GET", "POST", "PUT", "DELETE" ]; | ||||
|     response.headers.set("Allow", allHttpMethods.join()); // Use this | ||||
|     response.headers.set("Access-Control-Allow-Methods", allHttpMethods.join()); // or this | ||||
|     response.headers.set("access-control-allow-origin", "*"); | ||||
|     response.status_code = 204; | ||||
|     return response; | ||||
|   } | ||||
| 
 | ||||
|   public GET(request: Drash.Request, response: Drash.Response): void { | ||||
|     // create a workbook with some random data | ||||
|     let data: any[][] = [ "ABCDEFG".split("") ]; | ||||
|     for(let i = 0; i < 10; ++i) data = data.concat([ | ||||
|       [5,4,3,3,7,9,5].map(v => rand(v)), | ||||
|       [5,4,3,3,7,9,5].map(v => rand(v, 8)), | ||||
|       [5,4,3,3,7,9,5].map(v => rand(v, 6)), | ||||
|       [5,4,3,3,7,9,5].map(v => rand(v, 4)), | ||||
|       [5,4,3,3,7,9,5].map(v => rand(v, 2)), | ||||
|       [5,4,3,3,7,9,5].map(v => rand(v, 0)) | ||||
|     ]); | ||||
|     const ws = utils.aoa_to_sheet(data); | ||||
|     const wb = utils.book_new(); utils.book_append_sheet(wb, ws, "data"); | ||||
|     // write the workbook to XLSX as a Uint8Array | ||||
|     const file = writeXLSX(wb, { type: "buffer"}); | ||||
|     // set headers | ||||
|     response.headers.set("Content-Disposition", 'attachment; filename="LiveSheet.xlsx"'); | ||||
|     // send data | ||||
|     return response.send("application/vnd.ms-excel", file); | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| // Create and run your server | ||||
| const server = new Drash.Server({ | ||||
|   hostname: "", | ||||
|   port: 3000, | ||||
|   protocol: "http", | ||||
|   resources: [ HomeResource ], | ||||
| }); | ||||
| 
 | ||||
| server.run(); | ||||
| 
 | ||||
| console.log(`Server running at ${server.address}.`); | ||||
| ``` | ||||
| 
 | ||||
| </details> | ||||
| For this demo, <https://docs.sheetjs.com/pres.xlsx> will be used. | ||||
| 
 | ||||
| 
 | ||||
| ### Action | ||||
| @ -135,7 +73,7 @@ The `githubocto/flat` action can be added as a step in a workflow: | ||||
|       - name: Fetch data | ||||
|         uses: githubocto/flat@v3 | ||||
|         with: | ||||
|           http_url: https://livesheet.deno.dev/ | ||||
|           http_url: https://docs.sheetjs.com/pres.xlsx | ||||
|           downloaded_filename: data.xlsx | ||||
|           postprocess: ./postprocess.ts | ||||
| ``` | ||||
| @ -144,7 +82,7 @@ The `http_url` will be fetched and saved to `downloaded_filename` in the repo. | ||||
| This can be approximated with the following command: | ||||
| 
 | ||||
| ```bash | ||||
| curl -L -o data.xlsx https://livesheet.deno.dev/ | ||||
| curl -L -o data.xlsx https://docs.sheetjs.com/pres.xlsx | ||||
| ``` | ||||
| 
 | ||||
| After saving, the `postprocess` script will be run. When a `.ts` file is the | ||||
| @ -175,8 +113,7 @@ releases, the examples import from the SheetJS CDN: | ||||
| import * as XLSX from 'https://cdn.sheetjs.com/xlsx-latest/package/xlsx.mjs'; | ||||
| ``` | ||||
| 
 | ||||
| The official registry endpoint <https://deno.land/x/sheetjs> is out of date. | ||||
| This is a known registry bug. | ||||
| The official Deno registry is out of date. This is a known registry bug. | ||||
| 
 | ||||
| ::: | ||||
| 
 | ||||
| @ -293,7 +230,7 @@ jobs: | ||||
|       - name: Fetch data | ||||
|         uses: githubocto/flat@v3 | ||||
|         with: | ||||
|           http_url: https://livesheet.deno.dev/ | ||||
|           http_url: https://docs.sheetjs.com/pres.xlsx | ||||
|           downloaded_filename: data.xlsx | ||||
|           postprocess: ./postprocess.ts | ||||
| ``` | ||||
|  | ||||
| @ -393,7 +393,7 @@ evt.respondWith(new Response(buf, { | ||||
| <details><summary><b>Complete Example</b> (click to show)</summary> | ||||
| 
 | ||||
| Save the following script to `deno.ts` and run with `deno run -A deno.ts`.  Open | ||||
| a web browser and access <http://localhost:7262> to download the workbook. | ||||
| a web browser and access `http://localhost:7262/` to download the workbook. | ||||
| 
 | ||||
| ```ts title="deno.ts" | ||||
| // @deno-types="https://cdn.sheetjs.com/xlsx-latest/package/types/index.d.ts" | ||||
| @ -447,7 +447,7 @@ return new Response(buf, { | ||||
| 
 | ||||
| Download [`xlsx.mjs`](https://cdn.sheetjs.com/xlsx-latest/package/xlsx.mjs). | ||||
| Save the following script to `bun.js` and run with `bun bun.js`.   Open a web | ||||
| browser and access <http://localhost:7262> to download the exported workbook. | ||||
| browser and access `http://localhost:7262/` to download the exported workbook. | ||||
| 
 | ||||
| ```js title="bun.js" | ||||
| import * as XLSX from "./xlsx.mjs"; | ||||
| @ -841,5 +841,3 @@ Readable Stream. | ||||
| - `XLSX.stream.to_json` is the streaming version of `XLSX.utils.sheet_to_json`. | ||||
| 
 | ||||
| Examples are included in ["Large Datasets"](/docs/demos/stream#streaming-write) | ||||
| 
 | ||||
| <https://sheetaki.now.sh/> pipes write streams to nodejs response. | ||||
|  | ||||
| @ -258,6 +258,6 @@ worksheet.  The supported codes are a subset of the Word RTF support. | ||||
| 
 | ||||
| #### Ethercalc Record Format (ETH) | ||||
| 
 | ||||
| [Ethercalc](https://ethercalc.net/) is an open source web spreadsheet powered by | ||||
| a record format reminiscent of SYLK wrapped in a MIME multi-part message. | ||||
| Ethercalc was an open source web spreadsheet powered by a record format | ||||
| reminiscent of SYLK wrapped in a MIME multi-part message. | ||||
| 
 | ||||
|  | ||||
| @ -179,14 +179,13 @@ contexts, freeing up the renderer to update. | ||||
| #### Strange exported file names in the web browser | ||||
| 
 | ||||
| JS and the DOM API do not have a standard approach for creating files. There was | ||||
| a [`saveAs` proposal](https://www.w3.org/TR/2014/NOTE-file-writer-api-20140424/) | ||||
| but it was abandoned in 2014. | ||||
| a `saveAs` proposal as part of "File API: Writer" but it was abandoned in 2014. | ||||
| 
 | ||||
| The library integrates a number of platform-specific techniques for different | ||||
| environments. In modern web browsers, the library uses the `download` attribute. | ||||
| 
 | ||||
| Third party libraries like [FileSaver](https://github.com/eligrey/FileSaver.js/) | ||||
| provide an implementation of `saveAs` and may help in some cases. | ||||
| Third party libraries like `FileSaver.js` provide an implementation of `saveAs` | ||||
| that include more browser-specific workarounds. | ||||
| 
 | ||||
| <details><summary><b>FileSaver.js integration</b> (click to show)</summary> | ||||
| 
 | ||||
|  | ||||
| @ -6,14 +6,4 @@ hide_table_of_contents: true | ||||
| 
 | ||||
| The official source code repository is <https://git.sheetjs.com/sheetjs/sheetjs> | ||||
| 
 | ||||
| :::note Mirrors | ||||
| 
 | ||||
| Older snapshots of the source code repository are available at various hosts: | ||||
| 
 | ||||
| - [GitHub](https://github.com/sheetjs/sheetjs) | ||||
| - [GitLab](https://gitlab.com/sheetjs/sheetjs) | ||||
| - [BitBucket](https://bitbucket.org/sheetjs/sheetjs) | ||||
| 
 | ||||
| <https://git.sheetjs.com/sheetjs/sheetjs> is the authoritative repository. | ||||
| 
 | ||||
| ::: | ||||
| Issues should be raised at <https://git.sheetjs.com/sheetjs/sheetjs/issues> | ||||
| @ -75,15 +75,24 @@ ExtendScript Toolkit 3.5 is available as a standalone download for Windows. | ||||
| <details> | ||||
|   <summary>(click to show)</summary> | ||||
| 
 | ||||
|  - NodeJS `0.8`, `0.10`, `0.12`, `4.x`, `5.x`, `6.x`, `7.x`, `8.x` | ||||
| **Browsers** | ||||
|  - IE 6/7/8/9/10/11 (IE 6-9 require shims) | ||||
|  - Chrome 24+ (including Android 4.0+) | ||||
|  - Safari 6+ (iOS and Desktop) | ||||
|  - Edge 13+, FF 18+, and Opera 12+ | ||||
|  - Chrome 26+ (including Android 6.0+) | ||||
|  - Safari 8+ (Desktop) and Safari 10+ (iOS) | ||||
|  - Edge 13-18 and 79+ | ||||
|  - FF Latest | ||||
| 
 | ||||
| Tests utilize the mocha testing framework. | ||||
| The automated browser tests seek to test the latest patch version of each major | ||||
| release of Chromium ending in `0` (starting from Chrome 30). | ||||
| 
 | ||||
|  - <https://saucelabs.com/u/sheetjs> for XLS\* modules using Sauce Labs | ||||
| Edge originally was an independent browser, becoming a Chromium fork in version | ||||
| 79. Since the new releases should be nearly identical to the Chrome counterpart, | ||||
| the Edge tests are run on major releases ending in `5` (starting from Edge 85). | ||||
| 
 | ||||
| **Server Runtimes** | ||||
|  - NodeJS `0.8`, `0.10`, `0.12`, and every major version starting from `4` | ||||
|  - io.js 1/2/3 | ||||
|  - Deno latest | ||||
| 
 | ||||
| The test suite also includes tests for various time zones.  To change | ||||
| the timezone locally, set the `TZ` environment variable: | ||||
| @ -99,13 +108,5 @@ $ env TZ="Asia/Kolkata" WTF=1 make test_misc | ||||
| Test files are housed in [another repo](https://github.com/SheetJS/test_files). | ||||
| 
 | ||||
| Running `make init` will refresh the `test_files` submodule and get the files. | ||||
| Note that this requires `svn`, `git`, `hg` and other commands that may not be | ||||
| available.  If `make init` fails, please download the latest version of the test | ||||
| files snapshot from [the repo](https://github.com/SheetJS/test_files/releases) | ||||
| 
 | ||||
| #### Latest Snapshot | ||||
| 
 | ||||
| <https://github.com/SheetJS/test_files/releases/download/20170409/test_files.zip> | ||||
| 
 | ||||
| (download and unzip to the `test_files` subfolder) | ||||
| 
 | ||||
| [The "OS-Specific Setup"](/docs/miscellany/contributing#os-specific-setup) | ||||
| includes notes for installing the required dependencies. | ||||
|  | ||||
| @ -62,8 +62,7 @@ sudo npm i -g n | ||||
| sudo n 16 | ||||
| ``` | ||||
| 
 | ||||
| 3) Follow <https://github.com/paul-nelson-baker/git-openssl-shellscript> to | ||||
| build and install a version of Git with proper SSL support: | ||||
| 3) Build and install a version of Git with proper SSL support: | ||||
| 
 | ||||
| ```bash | ||||
| # Git does not support OpenSSL out of the box, must do this | ||||
| @ -88,13 +87,13 @@ On Linux: | ||||
| sudo apt-get install mercurial subversion | ||||
| ``` | ||||
| 
 | ||||
| On MacOS, install using [`brew`](https://brew.sh/): | ||||
| On MacOS, install using Homebrew: | ||||
| 
 | ||||
| ```bash | ||||
| brew install mercurial subversion | ||||
| ``` | ||||
| 
 | ||||
| NodeJS installers can be found at <https://nodejs.org/en/download/> | ||||
| NodeJS installers can be found at the project homepage. | ||||
| 
 | ||||
| 1) Install NodeJS modules for building the scripts | ||||
| 
 | ||||
|  | ||||
| @ -80,7 +80,7 @@ const config = { | ||||
|             position: 'right', | ||||
|           }, | ||||
|           { | ||||
|             href: 'https://docs.sheetjs.com/docs/miscellany/source/', | ||||
|             href: 'https://git.sheetjs.com/sheetjs/sheetjs', | ||||
|             label: 'Source', | ||||
|             position: 'right', | ||||
|           }, | ||||
| @ -132,7 +132,7 @@ const config = { | ||||
|               }, | ||||
|               { | ||||
|                 label: 'Source', | ||||
|                 href: 'https://docs.sheetjs.com/docs/miscellany/source/', | ||||
|                 href: 'https://git.sheetjs.com/sheetjs/sheetjs', | ||||
|               }, | ||||
|             ], | ||||
|           }, | ||||
|  | ||||
							
								
								
									
										
											BIN
										
									
								
								docz/static/pres.xlsx
									
									
									
									
									
										Normal file
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										
											BIN
										
									
								
								docz/static/pres.xlsx
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user