前端自定义导出excel内容(xlsx用法)
1.下载安装xlsx插件
npm install xlsx -D
2.新建xlsx.js文件,放在utils文件夹下
// 下载excel功能importXLSXfrom'xlsx'/**
* @param dataList 表格数据内容 array
* @param fileName 文件标题。必须以 .xlsx结尾
*/exportconstdownloadXlsx=(dataList, fileName)=>{conststringToBuff=str=>{let buf =newArrayBuffer(str.length)let view =newUint8Array(buf)for(let i =0; i !== str.length;++i){
view[i]= str.charCodeAt(i)&0xff}return buf
};// 创建表格let workbook =XLSX.utils.book_new();let worksheet =XLSX.utils.aoa_to_sheet(dataList);XLSX.utils.book_append_sheet(workbook, worksheet);//第三个参数是sheet名称// 创建二进制对象写入转换好的字节流let xlsxBlob =newBlob([stringToBuff(XLSX.write(workbook,{bookType:'xlsx',bookSST:false,type:'binary'}))],{type:''});const a = document.createElement('a');// 利用URL.createObjectURL()方法为a元素生成blob URL
a.href =URL.createObjectURL(xlsxBlob);// 创建对象超链接
a.download = fileName
a.click()}
3.页面中使用
import{ downloadXlsx }from"/utils/xlsx";//自定义导出handelExportEvent(){//this.tableData表格数据if(!this.tableData ||this.tableData.length ==0){this.$message.error("当前没有需要导出的数据,请重新搜索后再打印!");return;}let datalist =[];//导出表格表头
datalist.push(["姓名","证件号",]);this.tableData.forEach((item, index)=>{
datalist.push([
item.patientName,
item.idcardNo,]);});//导出插件使用downloadXlsx(datalist,"xxx.xlsx");}
文章出处
本文转载自: https://blog.csdn.net/c_x_m/article/details/137220950
版权归原作者 月下脆竹書閣 所有, 如有侵权,请联系我们删除。
版权归原作者 月下脆竹書閣 所有, 如有侵权,请联系我们删除。