How to export & download XLSX in the browser in Angular (minimal example)
This example uses the xlsx library and the file-saver
library to create an (empty) XLSX file and download it, all on the client side.
First, install the libraries:
npm i --save file-saver xlsx
npm i --save-dev @types/file-saver
Import them using
import * as XLSX from 'xlsx';
import { saveAs } from 'file-saver';
Here’s the main part of the code that creates the XLSX:
// Create an empty workbook
const wb = XLSX.utils.book_new();
// Create an empty worksheet
// If this weren't a minimal example, your data would go here
const ws = XLSX.utils.aoa_to_sheet([[]]);
// Add the worksheet to the workbook
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
// Export the workbook to XLSX format
const wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'buffer' });
// Convert the binary data to a Blob
const blob = new Blob([wbout], { type: 'application/vnd.ms-excel' });
// Download of the file using file-saver
saveAs(blob, 'example.xlsx');