使用' xlsx'导出到CSV文件在angular2

时间:2018-01-04 11:48:32

标签: angular csv typescript npm xlsx

我想使用' xlsx'导出csv文件npm模块,但在文档中它没有显示任何直接的方法。我有一个json输出,我想使用' xlsx' module.Please帮助我这样做。我试过这种方式但没有工作

const CSV_TYPE ='text/csv;charset=utf-8';
const CSV_EXTENSION = '.csv';
const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);
const csvOutput: string = XLSX.utils.sheet_to_csv(worksheet);
FileSaver.saveAs(new Blob([buffer], {type: CSV_TYPE});, fileName + '_export_' + new Date().getTime() + CSV_EXTENSION);

提前致谢

2 个答案:

答案 0 :(得分:0)

您正在使用 FileSaver.saveAs()方法,因此希望您收到与 fs 相关的错误。 尝试

 Xlsx.write(workbook,filename);

答案 1 :(得分:0)

您的最后一行应该是

FileSaver.saveAs(new Blob([csvOutput], fileName + '_export_' + new Date().getTime() + CSV_EXTENSION);
  • 您必须使用'csvOutput'生成Blob。
  • 按照documentation
  • 中的说明将正确的参数传递给'saveAs'函数

固定的完整代码:-

const CSV_TYPE ='text/csv;charset=utf-8';
const CSV_EXTENSION = '.csv';
const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);
const csvOutput: string = XLSX.utils.sheet_to_csv(worksheet);
FileSaver.saveAs(new Blob([csvOutput], fileName + '_export_' + new Date().getTime() + CSV_EXTENSION);