forked from sheetjs/sheetjs
33 lines
1.3 KiB
Markdown
33 lines
1.3 KiB
Markdown
|
# Angular 1
|
||
|
|
||
|
The `xlsx.core.min.js` and `xlsx.full.min.js` scripts are designed to be dropped
|
||
|
into web pages with script tags e.g.
|
||
|
|
||
|
```html
|
||
|
<script src="xlsx.full.min.js"></script>
|
||
|
```
|
||
|
|
||
|
Strictly speaking, there should be no need for an angular demo! You can proceed
|
||
|
as you would with any other browser-friendly library. To make this meaningful,
|
||
|
we chose to show an integration with a common angular table component.
|
||
|
|
||
|
This demo uses angular-ui-grid to display a data table. The ui-grid does not
|
||
|
provide any way to hook into the import button, so the demo includes a simple
|
||
|
directive for a HTML File Input control. It also includes a sample service for
|
||
|
export which adds an item to the export menu.
|
||
|
|
||
|
## Import Directive
|
||
|
|
||
|
`SheetJSImportDirective` follows the prescription from the README for File input
|
||
|
controls using `readAsBinaryString`, converting to a suitable representation
|
||
|
and updating the scope.
|
||
|
|
||
|
## Export Service
|
||
|
|
||
|
`SheetJSExportService` exposes export functions for `XLSB` and `XLSX`. Other
|
||
|
formats are easily supported by changing the `bookType` variable. It grabs
|
||
|
values from the grid, builds an array of arrays, generates a workbook and uses
|
||
|
FileSaver to generate a download. By setting the `filename` and `sheetname`
|
||
|
options in the ui-grid options, the output can be controlled.
|
||
|
|