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);