我在Angular项目中使用“ exceljs”模块来构建Excel文件。 与其将其导出为Excel文件,不如将其转换为PDF,然后再将其下载。
我可以成功导出此文件并将其保存到计算机中:
workbook.xlsx.writeBuffer().then((data) => {
console.log(data); // Uint8Array
console.log(data.buffer); // ArrayBuffer
console.log(new Blob([data])); // Blob
// code I use to export it as an Excel File
const blob = new Blob([data], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8'});
const test = FileSaver.saveAs(blob, 'test.xlsx');
});
如上所述,我希望将其导出为PDF文件而不是Excel文件。
从代码中您可以看到'exceljs'给了我Uint8Array数据流,我可以从中获取ArrayBuffer或将其转换为Blob。
我尝试使用此方法没有成功:
workbook.xlsx.writeBuffer().then((data) => {
const blob = new Blob([data], { type: 'application/pdf' });
// or with 'application/octet-stream' type
// const blob = new Blob([data], { type: 'application/octet-stream' });
FileSaver.saveAs(blob, 'test.pdf');
});`
PDF文件已导出,但无法打开。 我收到类似“文件已损坏”的错误。
谢谢您提供的所有高级帮助。