前端excel导出

url地址 -> excel

function downloadFile(obj, name, suffix) {
  const blob = new Blob([obj])
  const fileName = name + '.' + suffix
  if ('download' in document.createElement('a')) {
    const link = document.createElement('a')
    link.download = fileName
    link.style.display = 'none'
    link.href = URL.createObjectURL(blob)
    document.body.appendChild(link)
    link.click()
    URL.revokeObjectURL(link.href) // 释放URL 对象
    document.body.removeChild(link)
  } else { // IE10+下载
    navigator.msSaveBlob(blob, fileName)
  }
}

文件流 -> excel

function exportExcel(res) {
  const url = window.URL.createObjectURL(res)
  window.open(url, '_self')
  window.URL.revokeObjectURL(url)
}

json内容 -> excel

// 注册组件
import JsonExcel from 'vue-json-excel'
Vue.component('download-excel', JsonExcel);
// 使用组件
<d2-download-excel
  :data="checkList"
  name="订单.xls"
>
  <button>导出</button>
</d2-download-excel>

页面table -> excel

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

const el = document.querySelector('#table');
const ws = XLSX.utils.table_to_book(el);
const wbout = XLSX.write(ws, {
  bookType: "xlsx",
  bookSST: true,
  type: "array",
});
const blob = new Blob([wbout], { type: "application/octet-stream" });
const name = "excel.xlsx";
FileSaver.saveAs(blob, name);
posted @ 2022-09-07 17:58  戡玉  阅读(37)  评论(0编辑  收藏  举报