UNPKG

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