Cómo poner una celda en negrita usando xlsx / SheetJS

Primero, necesitas entender que xlsx / SheetJS community edition estándar no soporta estilizado de celdas a partir de agosto de 2023.

Por lo tanto, necesitas usar el fork xlsx-js-style el cual puedes instalar usando

install_xlsx_js_style.sh
npm i --save xlsx-js-style

Ahora, basándote en nuestro ejemplo anterior, usa estas importaciones

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

y este código para generar un archivo XLSX con una celda en negrita:

bold_cell.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([
    ["Test"]
]);

// Poner celda en negrita
ws["A1"].s = {
    font: {
        bold: true,
    }
};

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

Archivo XLSX con la celda A1 en negrita que contiene el texto Test generado usando xlsx-js-style


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