exportexcel.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import { parseTime } from "@/utils/index";
  2. import { Message } from 'element-ui';
  3. /**
  4. * 导出Excel
  5. * @param {*} data 导出Excel文件流数据
  6. * @param {*} fileName 导出Excel文件名称
  7. */
  8. export function exportExcel(data, fileName) {
  9. const contentByExportExcel = data;
  10. const blobByExportExcel = new Blob([contentByExportExcel], { type: "application/vnd.ms-excel;charset=utf-8" });
  11. // console.log('blobByExportExcel',blobByExportExcel);
  12. // const filenameByExportExcel = fileName + "_" + parseTime(new Date(), "{y}-{m}-{d}") + "_" + new Date().getTime() + ".xlsx";
  13. // console.log(fileName + "_" + parseTime(new Date(), "{y}-{m}-{d}"));
  14. const filenameByExportExcel = fileName + Date.parse(new Date()) + ".xlsx";
  15. if ('download' in document.createElement('a')) {
  16. const elink = document.createElement('a');
  17. elink.download = filenameByExportExcel;
  18. elink.style.display = 'none';
  19. elink.href = URL.createObjectURL(blobByExportExcel);
  20. document.body.appendChild(elink);
  21. elink.click();
  22. URL.revokeObjectURL(elink.href);
  23. document.body.removeChild(elink);
  24. Message({
  25. message: "导出Excel成功!",
  26. type: 'success',
  27. showClose: true,
  28. center: true
  29. });
  30. } else {
  31. navigator.msSaveBlob(blobByExportExcel, filenameByExportExcel);
  32. Message({
  33. message: "导出Excel成功!",
  34. type: 'success',
  35. showClose: true,
  36. center: true
  37. });
  38. }
  39. }