我正在尝试在浏览器中创建一个xlsx文件,并发现https://github.com/exceljs/exceljs非常强大。然而,我无法找到一种将我的xlsx对象保存到文件中的方法。可能需要使用Buffer,但如何从中生成文件呢?
const buffer = await workbook.xlsx.writeBuffer();
这个库可以在浏览器中生成文件,https://docs.sheetjs.com/docs/,但它不擅长构建复杂的字段。
我正在尝试在浏览器中创建一个xlsx文件,并发现https://github.com/exceljs/exceljs非常强大。然而,我无法找到一种将我的xlsx对象保存到文件中的方法。可能需要使用Buffer,但如何从中生成文件呢?
const buffer = await workbook.xlsx.writeBuffer();
var FileSaver = require('file-saver');
const buffer = await workbook.xlsx.writeBuffer();
FileSaver.saveAs(new Blob([buffer]), “result.xlsx”);
let buffer = await workbook.xlsx.writeBuffer();
为SheetJS创建缓冲区:
let buffer = XLSX.write(workBook, { bookType: 'xlsx', compression: true, type: 'buffer' });
两个库都可以将内容保存到文件中:
let blob = new Blob([buffer], { type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" });
let link = document.createElement('a');
link.href = URL.createObjectURL(blob);
link.download = "fName.xlsx";
link.click();
URL.revokeObjectURL(link.href);