@luban-slickgrid-universal/excel-export
TypeScript icon, indicating that this package has built-in type declarations

5.4.0 • Public • Published

License: MIT TypeScript lerna--lite npm npm npm bundle size

Actions Status Cypress.io jest codecov

Excel Export Service

@slickgrid-universal/excel-export

Simple Export to Excel Service that allows to exporting as .xls or .xlsx.

Internal Dependencies

External Dependencies

This package requires excel-builder-vanilla which itself also has a single dependency fflate to compress the data before sending it to the browser.

Installation

Follow the instruction provided in the main README, you can see a demo by looking at the GitHub Demo page and click on "Export to Excel" from the Context Menu or the Grid Menu (aka hamburger menu).

You can also use nearly all Excel-Builder-Vanilla options, see their Excel-Builder-Vanilla - Documentation and also take a look at Slickgrid-Universal Excel Export - Documentation on how to use both.

Usage

In order to use the Service, you will need to register it in your grid options via the registerExternalResources as shown below.

ViewModel
import { ExcelExportService } from '@slickgrid-universal/excel-export';

export class MyExample {
  initializeGrid {
    this.gridOptions = {
      enableExcelExport: true,
      excelExportOptions: {
        sanitizeDataExport: true
      },
      externalResources: [new ExcelExportService()],
    }
  }
}

If you wish to reference the service to use it with external export button, then simply create a reference while instantiating it.

import { ExcelExportService } from '@slickgrid-universal/excel-export';

export class MyExample {
  excelExportService: ExcelExportService;

  constructor() {
    this.excelExportService = new ExcelExportService();
  }

  initializeGrid {
    this.gridOptions = {
      enableExcelExport: true,
      excelExportOptions: {
        sanitizeDataExport: true
      },
      externalResources: [this.excelExportService],
    }
  }

  exportToExcel() {
    this.excelExportService.exportToExcel({ filename: 'export', format: FileType.xlsx });
  }
}

CSP (Content Security Policy)

Please note that this Excel Export service is using fflate (it compresses the data before sending it to the browser) and for better performance it uses Web Workers and for that reason you might need to adjust your CSP rules. You simply need to add a CSP rule to avoid the error worker-src 'self' blob:;

<meta http-equiv="Content-Security-Policy"
  content="default-src 'self'; ...other rules...  worker-src 'self' blob:;" />

Readme

Keywords

none

Package Sidebar

Install

npm i @luban-slickgrid-universal/excel-export

Weekly Downloads

0

Version

5.4.0

License

MIT

Unpacked Size

225 kB

Total Files

21

Last publish

Collaborators

  • hwlv