本帖最后由 李昊翰 于 2020-11-20 10:52 编辑
我现在有10组数据 要插入到10个sheet页中, 我这边如果不执行插入操作的话 数据处理的很快, 如果插入10个sheet页会变得很卡 大概需要10分钟左右 有解决办法吗 我每页大概 130多条数据 , 是因为数据太多吗? 只插入一个sheet是很快得, 但是在插第二个sheet页得时候就开始慢了- for(var m = 0 ; m < this.SheetData.length; m++){
- console.log(m);
- var sheetnum = m;
- if(this.SheetData[m].data.count==200){
- let tableData = this.SheetData[m].data.data;
- let sheet = _this.spread.getSheet(sheetnum+1);
- let groupList = [];//插入的数组
- let addrownum = 3;//插入的行数
- Object.keys(tableData).forEach(function(key){
- for(let i = 0 ; i < tableData[key].length ; i++){
- groupList.push([tableData[key][i].Department,tableData[key][i].StyleNo,tableData[key][i].StyleCode,tableData[key][i].OrderNo,tableData[key][i].PlanNum,tableData[key][i].Paidan,tableData[key][i].Effice,tableData[key][i].Price,tableData[key][i].SAM,tableData[key][i].TotalSAH,tableData[key][i][1],tableData[key][i][2],tableData[key][i][3],tableData[key][i][4],tableData[key][i][5],tableData[key][i][6],tableData[key][i][7],tableData[key][i][8],tableData[key][i][9],tableData[key][i][10],tableData[key][i][11],tableData[key][i][12],tableData[key][i][13],tableData[key][i][14],tableData[key][i][15],tableData[key][i][16],tableData[key][i][17],tableData[key][i][18],tableData[key][i][19],tableData[key][i][20],tableData[key][i][21],tableData[key][i][22],tableData[key][i][23],tableData[key][i][24],tableData[key][i][25],tableData[key][i][26],tableData[key][i][27],tableData[key][i][28],tableData[key][i][29],tableData[key][i][30],tableData[key][i][30],tableData[key][i].TotalNum,tableData[key][i].TotalNum,tableData[key][i].code]);
- }
- let newData = {};
- groupList.forEach(e => {
- //新建属性名
- if (Object.keys(newData).indexOf('' + e[0]) === -1) {
- newData[e[0]] = [];
- }
- //对应插入属性值
- newData[e[0]].push(e);
- });
- if(newData[key]==undefined){
- newData[key]=newData["undefined"]
- }
- //首先插入行
- sheet.addRows(addrownum,tableData[key].length);
- sheet.setArray(addrownum,0,newData[key]);
- addrownum+=8+newData[key].length;
- console.log(newData[key])
- });
- }
- _this.dataFlag = true;
- loading1.close();
- }
- })
复制代码
|