在 angular 2 中使用 blob 下载 excel(.xlsx) 文件

Download an excel(.xlsx) file using blob in angular 2

如何使用 blob 从浏览器下载保存在 angular 2 项目文件夹中的 .xlsx 文件。我可以使用以下代码下载 csv:

return this.http.get(fileUrl, {headers: headerInfo})
    .map((response: any) => {
        return new Blob([response._body], {type: 'text/csv'});
    });

如有任何帮助,我们将不胜感激!谢谢!

您可能只使用 fetchfile-saver 来检索 Excel 文件:

import { saveAs } from 'file-saver';

// Client side.
// Note: it helps it server serves the appropriate response header, like e.g.
// 'Content-Type': 'application/vnd.openxmlformats'

return fetch(excelFileUrl, { headers: headerInfo })
  .then(res => res.blob()) // extract binary blob from response
  .then(blob => {
    // Download blob with file-saver
    FileSaver.saveAs(blob, "MyFile.xlsx");
  })
  .catch((err) => { console.error('Excel download failed', err); });