UNPKG

jslib-tools

Version:

js工具库 封装常用的工具函数 如深拷贝 时间转换日期格式化、浏览器判断等,提高开发效率

52 lines (51 loc) 1.54 kB
/* * @Author: zhangyu * @Email: zhangdulin@outlook.com * @Date: 2021-06-08 11:30:40 * @LastEditors: zhangyu * @LastEditTime: 2021-06-10 17:59:15 * @Description: */ /** * 删除对象里面value值为null的键值对 * @param {*} data 接口返回的blob数据 * @param {*} name excel名称 * @param {*} callBack 导出成功/失败回调 回调返回{type:fail/success} fail情况下 返回{ type: "fail", code, msg } */ export function exportXls(data, name = "jtools", callBack) { if (!data || data.size == 0) { callBack && callBack({ type: "fail", msg: "数据为空" }); return false; } const reader = new FileReader(); reader.readAsText(data, "utf-8"); reader.onload = (e) => { try { const { code, msg } = JSON.parse(reader.result); if (code && code != 200) { callBack && callBack({ type: "fail", code, msg }); return false; } else { _downFile(data, name); } callBack && callBack({ type: "success" }); } catch (error) { _downFile(data, name); callBack && callBack({ type: "success" }); } }; } function _downFile(data, fileName) { const blob = new Blob([data], { type: "application/vnd.ms-excel,charset=UTF-8" }); if (window.navigator.msSaveOrOpenBlob) { navigator.msSaveBlob(blob, fileName + ".xlsx"); } else { var link = document.createElement("a"); link.href = window.URL.createObjectURL(blob); link.download = fileName + ".xlsx"; link.click(); window.URL.revokeObjectURL(link.href); } }