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': '' // <--|
|
||
|
}
|
||
|
});
|
||
|
```
|