2020-07-15更新excel导出安装npminstallxlsx-S//发布时间为0.16.3本版本src文件夹下新建libs文件夹,并新建excel.jsimportXLSXfrom'xlsx'functionautoWidthFunc(ws,data){//设置工作表每个列的最大宽度constcolWidth=data.map(row=>row.map(val=>{//如果为null/undefinedif(val==null){return{wch:10}}elseif(val.toString().charCodeAt(0)>255){//ifchinesereturn{wch:val.toString().length*2}}else{return{wch:val.toString().length}}}))//从第一行开始constresult=colWidth[0]for(leti=1;ikey.map(j=>{returnv[j]}))}constexportArrayToExcel=({key,data,title,文件名,自动宽度})=>{constwb=XLSX.utils.book_new()constarr=jsonToArray(key,data)arr.unshift(title)constws=XLSX.utils.aoa_to_sheet(arr)if(autoWidth){autoWidthFunc(ws,arr)}XLSX.utils.book_append_sheet(wb,ws,filename)XLSX.writeFile(wb,filename+'.xlsx')}exportdefault{exportArrayToExcel}importexcelfrom'@/libs/excel'exportdefault{data(){返回{dataList:[]//这里放请求的数据,不要重复}},methods:{//页面上有个按钮可以点击调用这个方法,exportExcel(){constparams={//dataList中title和key中的字段需要一一对应title:['ordernumber','ordersource','licenseplatenumber'],key:['app_id','app_source','cars'],data:this.dataList,//数据源autoWidth:true,//时间戳函数定义formatDatefilename:'list'+formatDate(newDate(),'yyyyMMddhhmmss')}excel.exportArrayToExcel(params)}}}============================下面是一篇早期的文章,今天在开发过程中需要做一个vue的导出功能。老司机用js-xlsx来驱动。里面有vue的部分,废话大家可以参考,直接贴代码就行。1.在index.js中引用js文件libs/FileSaver.js/1.3.3/FileSaver.min.js">2.vue文件中3.显示注意:这里用的是html的id,如果是element-ui,注意使用ref