forked from sheetjs/sheetjs
		
	
		
			
	
	
		
			69 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			69 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|  | # Angular 2+
 | ||
|  | 
 | ||
|  | The library can be imported directly from TS code with: | ||
|  | 
 | ||
|  | ```typescript | ||
|  | import * as XLSX from 'xlsx'; | ||
|  | ``` | ||
|  | 
 | ||
|  | This demo uses an array of arrays as the core data structure.  The component | ||
|  | template includes a file input element, a table that updates based on the data, | ||
|  | and a button to export the data. | ||
|  | 
 | ||
|  | ## Switching between Angular versions
 | ||
|  | 
 | ||
|  | Modules that work with Angular 2 largely work as-is with Angular 4.  Switching | ||
|  | between versions is mostly a matter of installing the correct version of the | ||
|  | core and associated modules.  This demo includes a `package.json` for Angular 2 | ||
|  | and another `package.json` for Angular 4. | ||
|  | 
 | ||
|  | Switching to Angular 2 is as simple as: | ||
|  | 
 | ||
|  | ```bash | ||
|  | $ cp package.json-angular2 package.json | ||
|  | $ npm install | ||
|  | $ ng serve | ||
|  | ``` | ||
|  | 
 | ||
|  | Switching to Angular 4 is as simple as: | ||
|  | 
 | ||
|  | ```bash | ||
|  | $ cp package.json-angular4 package.json | ||
|  | $ npm install | ||
|  | $ ng serve | ||
|  | ``` | ||
|  | 
 | ||
|  | ## XLSX Symlink
 | ||
|  | 
 | ||
|  | In this tree, `node_modules/xlsx` is a symlink pointing back to the root.  This | ||
|  | enables testing the development version of the library.  In order to use this | ||
|  | demo in other applications, add the `xlsx` dependency: | ||
|  | 
 | ||
|  | ```bash | ||
|  | $ npm install --save xlsx | ||
|  | 
 | ||
|  | ``` | ||
|  | 
 | ||
|  | ## SystemJS Configuration
 | ||
|  | 
 | ||
|  | The default angular-cli configuration requires no additional configuration. | ||
|  | 
 | ||
|  | Some deployments use the SystemJS loader, which does require configuration.  The | ||
|  | SystemJS example shows the required meta and map settings: | ||
|  | 
 | ||
|  | ```js | ||
|  | SystemJS.config({ | ||
|  | 	meta: { | ||
|  | 		'xlsx': { | ||
|  | 			exports: 'XLSX' // <-- tell SystemJS to expose the XLSX variable | ||
|  | 		} | ||
|  | 	}, | ||
|  | 	map: { | ||
|  | 		'xlsx': 'xlsx.full.min.js', // <-- make sure xlsx.full.min.js is in same dir | ||
|  | 		'fs': '',     // <--| | ||
|  | 		'crypto': '', // <--| suppress native node modules | ||
|  | 		'stream': ''  // <--| | ||
|  | 	} | ||
|  | }); | ||
|  | ``` |