导出excel表格开发过程中遇到报错:Invalid array length at Proxy.renderList
这种报错一般发生在点击导出后成功导出,再次按导出按钮:Invalid array length at Proxy.renderList
不影响其它功能,表格正常还是能再次导出,页面还是可以再次请求后端刷新
解决:给业务添加上定时器延迟下执行即可
downloadExcel() {//列表下载 let _this = this if(_this.tables.length>0){ this.$confirm({ title: '确认导出?', onOk() { setTimeout(()=>{//如果点击打印按钮后控制台报错:Invalid array length at Proxy.renderList --增大延迟时间即可解决 --容易发生在第二次点击上报错 _this.fnInitEcelTable() },1200) }, onCancel(){}, }) }else{ _this.$message.warning('请先选择数据!') } },
export2Excel() {//数据写入excel var that = this; require.ensure([], () => { const { export_json_to_excel } = require('@/excel/export2Excel'); //这里必须使用绝对路径,使用@/+存放export2Excel的路径 const tHeader = ['多工制令单','用量','日期','产品名称','产品规格','用料-名',' 线材' ,'名称','单位用量','总用量', '单位' , '规格' , '备注']; // 导出的表头名信息 const filterVal = ['zl_no','ProdtQtyFROM', 'date', 'pd_id','pd_name','series','zhanwei','lj_detailName','lj_detailDanwY','lj_detailZongY','lj_detailDanwei','lj_detailGuige','lj_detailBeiz']; // 导出的表头字段名,需要导出表格字段名 const list = that.excelData; const data = that.formatJson(filterVal, list); export_json_to_excel(tHeader, data, '多工制令单excel');// 导出的表格名称,根据需要自己命名 // this.fnAjaxUpdata()//打印完成后一定要重新刷新一下数据,不然搜索框将不能用,搜索框再次搜索数据内层的数据会被format而导致的乱掉 // console.log(this.searchTypeIntitle) setTimeout(()=>{//这里最好也加一下 if(this.searchTypeIntitle==1){ this.fnAjaxUpdata()//加入数据报错页面错乱 除非判断刚开始搜索数据时是依据时间还是日期 }else{ this.onSearch2(this.dgzlstring) } },100) }) }, //格式转换 formatJson(filterVal, jsonData) { return jsonData.map(v => filterVal.map(j =>{ return (v[j]) })) },
原因二:
如果还是会报错-一般报错出现在点击表单展开后,点击展开后再次打印导出excel就会报错
这个主要原因是因为ant design框架
fnAllExpand(){ //设置全展 setTimeout(()=>{//单独设置--展开所有功能 this.data.forEach((val,key)=>{ this.defaultExpandedRowKeys.push(val.key) }) },2000) },
不影响导出等功能和正常使用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!