Search code examples
javascriptxlsxexceljs

How can I write xlsx to file in browser with ExcelJS?


I am trying to create an xlsx file in the browser and find https://github.com/exceljs/exceljs very powerful. However, I can't find a way how to save my xlsx object to a file. Probably I need to use Buffer, but how to generate a file from it?

const buffer = await workbook.xlsx.writeBuffer();

This library can generate files in the browser https://docs.sheetjs.com/docs/ but it is not good at building complex fields.


Solution

  • Use FileSaver.js (https://github.com/eligrey/FileSaver.js/)

    var FileSaver = require('file-saver');
    const buffer = await workbook.xlsx.writeBuffer();
    FileSaver.saveAs(new Blob([buffer]), “result.xlsx”);