前端excel文件下载

634 阅读1分钟

问题:前端文件下载 数字前面的零会被自动省略 过长数字按照科学计数法展示 时间时分秒被自动忽略

系统展示 image.png 修改前 image.png

准备: 安装依赖:npm install xlsx file-saver -S 在放置需要导出功能的组件中引入

    import FileSaver from "file-saver";
    import XLSX from "xlsx";

导出方法

      /* generate workbook object from table */
      let xlsxParam = { raw: true } //转换成excel时,使用原始的格式
      let wb = XLSX.utils.table_to_book(
        document.querySelector('#out-table'),
        xlsxParam
      )
      /* get binary string as output */
      let wbout = XLSX.write(wb, {
        bookType: 'xlsx',
        bookSST: true,
        type: 'array',
      })
      try {
        FileSaver.saveAs(
          new Blob([wbout], { type: 'application/octet-stream;charset=utf-8' }),
          'sheetjs.xlsx'
        )
      } catch (e) {
        if (typeof console !== 'undefined') console.log(e, wbout)
      }
      return wbout
    },

修改后

image.png

完成