Cómo exportar y descargar XLSX en el navegador en Angular (ejemplo mínimo)

Este ejemplo usa la librería xlsx y la librería file-saver para crear un archivo XLSX (vacío) y descargarlo, todo en el lado del cliente.

Primero, instala las librerías:

install_deps.sh
npm i --save file-saver xlsx
npm i --save-dev @types/file-saver

Impórtalas usando

export-xlsx.ts
import * as XLSX from 'xlsx';
import { saveAs } from 'file-saver';

Aquí está la parte principal del código que crea el XLSX:

export-xlsx.ts
// Crear un workbook vacío
const wb = XLSX.utils.book_new();

// Crear una worksheet vacía
// Si este no fuera un ejemplo mínimo, tus datos irían aquí
const ws = XLSX.utils.aoa_to_sheet([[]]);

// Añadir la worksheet al workbook
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');

// Exportar el workbook a formato XLSX
const wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'buffer' });

// Convertir los datos binarios a un Blob
const blob = new Blob([wbout], { type: 'application/vnd.ms-excel' });

// Descarga del archivo usando file-saver
saveAs(blob, 'example.xlsx');

Echa un vistazo a artículos similares por categoría: TypeScript