loading...

js - 生成excel

//获取log信息
				getLogData:function(){
					var that = this;
                    var url = "/_api/web/Lists/getbytitle('historyLog')/items";
                    ajax_tool(url,'','get', function (data) {

                    	var temp = data.d.results;
                    	var map = {},
						dest = [];
						for(var i = 0; i < temp.length; i++){
						    var ai = temp[i];
						    if(!map[ai.projectName]){
						        dest.push({
						            projectName: ai.projectName,
						            data: [ai]
						        });
						        map[ai.projectName] = ai;
						    }else{
						        for(var j = 0; j < dest.length; j++){
						            var dj = dest[j];
						            if(dj.projectName == ai.projectName){
						                dj.data.push(ai);
						                break;
						            }
						        }
						    }
						}
						var logList = [];
						var titleArray = ["No","Project Name","Status","Operator","Action_Date","Action_Comments","Budget"];
						logList.push(titleArray);
						var tempLogList = [];
						for(var m=0; m<dest.length; m++){
							tempLogList = tempLogList.concat(dest[m].data.sort(function(a,b){return a.actionDate > b.actionDate ? 1 : -1}));
						}
						for(var n=0; n<tempLogList.length; n++){
							var rowData = [
								n+1,
								tempLogList[n].projectName,
								tempLogList[n].projectStatus,
								tempLogList[n].operator,
								(tempLogList[n].actionDate ? that.formatDate1(tempLogList[n].actionDate) : ""),
								(tempLogList[n].actionComments ? tempLogList[n].actionComments : ""),
								(tempLogList[n].budget ? tempLogList[n].budget : "")
							]
							logList.push(rowData);
						}

						var ws_name = "HistoryLog";
					    var wb = new Workbook(), 

					    ws = sheet_from_array_of_arrays(logList);
					    ws['!cols'] = [{'wch': 5},{'wch': 25},{'wch': 10},{'wch': 20},{'wch': 25},{'wch': 25},{'wch': 10}];
						 
						/* add worksheet to workbook */
						wb.SheetNames.push(ws_name);
						wb.Sheets[ws_name] = ws;
						var wbout = XLSX.write(wb, {bookType:'xlsx', bookSST:true, type: 'binary'});
					
						saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}), "HistoryLog.xlsx")
						that.downloadExcelDisabled = false;
                    	console.log(logList);                      
                    }, function (data) {
                        console.log(data);
                    });
				}
posted @ 2020-12-28 22:00  robinloveslife  阅读(260)  评论(0编辑  收藏  举报