guci-date
Version:
A golden bottle of sake costs ten thousand yuan, and a jade plate costs ten thousand yuan.
63 lines (41 loc) • 1.51 kB
JavaScript
import * as XLSX from 'xlsx';
import { saveAs } from 'file-saver';
/**
* @param { 通过自定义导出Excel表格 }
* @blob 返回的blob对象
* **/
export function ExportExcel(list){
const worksheet = XLSX.utils.aoa_to_sheet(list);
// 创建工作簿并添加工作表
const workbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// 生成Excel文件
const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });
// 使用blob和FileReader创建一个Blob URL
const dataBlob = new Blob([excelBuffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8' });
const blobUrl = window.URL.createObjectURL(dataBlob);
// 使用saveAs下载文件
saveAs(dataBlob, 'export.xlsx');
// 清理
window.URL.revokeObjectURL(blobUrl);
}
/**
* @param { 用来处理 用过接口下载的blob对象进行下载 }
* @blob 返回的blob对象
* **/
export function ExportApiExcel(blob){
// 创建A标签
const link = document.createElement('a')
link.style.display = 'none'
// 创建blob对象
link.href = URL.createObjectURL(blob)
// 下载xlsx文件名称
link.download = 'export.xlsx';
// 添加链接
document.body.appendChild(link)
// 下载
link.click()
// 清理
URL.revokeObjectURL(link.href)
document.body.removeChild(link)
}