原因是由于elementui中的固定列产生的影响,
doExportExcel(){//导出为excel let wb = '' let xlsxParam = { raw: true } let fix = document.querySelector(".el-table__fixed-right") if (fix) { wb = XLSX.utils.table_to_book( document.querySelector("#tableData").removeChild(fix), xlsxParam ); document.querySelector("#tableData").appendChild(fix); } else { wb = XLSX.utils.table_to_book(document.querySelector("#tableData"),xlsxParam); } /* 获取二进制字符串作为输出 */ let wbout = XLSX.write(wb, { bookType: "xlsx", bookSST: true, type: "array" }); try { FileSaver.saveAs( //Blob 对象表示一个不可变、原始数据的类文件对象。 //Blob 表示的不一定是JavaScript原生格式的数据。 //File 接口基于Blob,继承了 blob 的功能并将其扩展使其支持用户系统上的文件。 //返回一个新创建的 Blob 对象,其内容由参数中给定的数组串联组成。 new Blob([wbout], { type: "application/octet-stream" }), //设置导出文件名称 "发票信息.xlsx" ); this.$message({ type: 'success', message: '已成功导出!' }) } catch (e) { if (typeof console !== "undefined") console.log(e, wbout); } return wbout; }, 其中的.el-table__fixed-right是固定列的class,然后通过wb中移除掉固定列进行处理。另外,我发现 xlsxParam这个参数是用来处理保存后excel表单的单元格格式的,如果去了这个,导出excel后的数据格式会有问题。 参考 https://blog.csdn.net/qq_17162169/article/details/121263935 标签:xlsx,wb,elementui,导出,fix,excel,let,Blob From: https://www.cnblogs.com/luzanzan/p/17571536.html