⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 model.js

📁 在线ExeclCopyright (c) iRows.com. All rights reserved. Do not copy
💻 JS
📖 第 1 页 / 共 2 页
字号:
var v=""+Math.abs(value)var idp=v.indexOf('.')if(idp==0){v="0"+vidp++}var whole=vif(idp>0)whole=v.substring(0,idp)var dec=''if(idp>=0)dec=v.substring(idp+1)if(dec.length<decimalDigits)dec+='00000000000000000000000000000000000000000000000000'.substring(0,decimalDigits-dec.length)if(useSep&&whole.length>3){var p=whole.length % 3if(p==0)p=3var s=whole.substring(0,p)whole=whole.substring(p)while(whole.length>0){s+=sh_pref_format_seps+=whole.substring(0,3)whole=whole.substring(3)}whole=s}var fvalue=wholevar fcolorif(decimalDigits>0)fvalue+=sh_pref_format_decpoint+decif(symbol=='%')fvalue+='%'elseif(symbol!='-'){if(symbol=='c')symbol=sh_pref_format_currencyfvalue=symbol+fvalue}if(value<0){if(negativeFormat=='r'||negativeFormat=='R')fcolor='red'if(negativeFormat=='('||negativeFormat=='R')fvalue='('+fvalue+')'elsefvalue='-'+fvalue}res.formattedValue=fvalueres.formattedColor=fcolor}function G2copy(M,sfr,sfc,str,stc,dfr,dfc,dtr,dtc){var dsr=Math.min(dfr,dtr)var der=Math.max(dfr,dtr)var dsc=Math.min(dfc,dtc)var dec=Math.max(dfc,dtc)var ssr=Math.min(sfr,str)var ser=Math.max(sfr,str)var ssc=Math.min(sfc,stc)var sec=Math.max(sfc,stc)var sh=ser-ssr+1var sw=sec-ssc+1if(dsr==der&&dsc==dec){der=dsr+sh-1dec=dsc+sw-1}var ic=1if(dfc>sfc){ic=-1var t=decdec=dscdsc=t}var ir=1if(dfr>sfr){ir=-1var t=derder=dsrdsr=t}for(var mr=dsr;mr!=der+ir;mr+=ir){var sr=(mr-Math.min(dfr,dtr))% sh+ssrfor(var mc=dsc;mc!=dec+ic;mc+=ic){var sc=(mc-Math.min(dfc,dtc))% sw+sscvar key='R'+sr+'C'+scvar src=M.GE[key]if(!src){G2remove(M,mr,mc)}else{var dst={}for(var p in src)dst[p]=src[p]dst.row=mrdst.col=mcif(dst.text&&dst.text.length>1&&dst.text.charAt(0)=='='){var dr=mr-srvar dc=mc-scdst.execCode=nulldst.text=parser.adjustReferencesCopy(dst.text,dr,dc)}G2put(M,dst)}}}}function G2move(M,fr,fc,tr,tc,dr,dc){var sr=Math.max(Math.min(fr,tr),1)var er=Math.max(fr,tr)var ir=1var sc=Math.max(Math.min(fc,tc),1)var ec=Math.max(fc,tc)var ic=1if(dc>0){var t=scsc=ecec=tic=-1}if(dr>0){var t=srsr=erer=tir=-1}for(var mr=sr;mr!=er+ir;mr+=ir){for(var mc=sc;mc!=ec+ic;mc+=ic){var tcr=mr+drvar tcc=mc+dcvar key='R'+mr+'C'+mcvar src=M.GE[key]if(!src){G2remove(M,tcr,tcc)}else{var dst={}for(var p in src)dst[p]=src[p]dst.row=tcrdst.col=tccG2put(M,dst)G2remove(M,mr,mc)}}}sr=Math.max(Math.min(fr,tr),1)er=Math.max(Math.max(fr,tr),1)sc=Math.max(Math.min(fc,tc),1)ec=Math.max(Math.max(fc,tc),1)for(var fk in M.GF){var cell=M.GF[fk]if(cell!=null){var af=parser.adjustReferencesMove(cell.text,sr,sc,er,ec,dr,dc)if(af){cell.text=afcell.execCode=nullG2put(M,cell)}}}}function G2delRows(M,fr,tr){var dr=tr-fr+1G2move(M,tr+1,1,Math.max(tr+1,M.rows)+dr,M.cols,-dr,0)for(var r=fr;r<=M.rows;r++){M.G8[r]=M.G8[r+dr]if(M.G8[r])M.G8[r].row=r}for(var i=0;i<M.images.length;i++){var m=M.images[i]if(m&&m.row>=fr){if(m.row>tr)m.row-=drelsem.row=Math.max(1,fr-1)}}G2setRowsCols(M)M.setModified()}function G2delCols(M,fc,tc){var dc=tc-fc+1G2move(M,1,tc+1,M.rows,Math.max(tc+1,M.cols)+dc,0,-(tc-fc+1))for(var c=fc;c<=M.cols;c++){M.G9[c]=M.G9[c+dc]if(M.G8[c])M.G8[c].col=c}for(var i=0;i<M.images.length;i++){var m=M.images[i]if(m&&m.col>=fc){if(m.col>tc)m.col-=dcelsem.col=Math.max(1,fc-1)}}G2setRowsCols(M)M.setModified()}function G2addRows(M,br,n){G2move(M,br,1,Math.max(br,M.rows),M.cols,n,0)for(var r=M.rows;r>=br+n;r--){M.G8[r]=M.G8[r-n]if(M.G8[r])M.G8[r].row=r}for(var r=br;r<=br+n-1;r++)M.G8[r]=nullfor(var i=0;i<M.images.length;i++){var m=M.images[i]if(m&&m.row>=br)m.row+=n}G2setRowsCols(M)M.setModified()}function G2addCols(M,bc,n){G2move(M,1,bc,M.rows,Math.max(bc,M.cols),0,n)for(var c=M.cols;c>=bc+n;c--){M.G9[c]=M.G9[c-n]if(M.G9[c])M.G9[c].col=c}for(var c=bc;c<=bc+n-1;c++)M.G9[c]=nullfor(var i=0;i<M.images.length;i++){var m=M.images[i]if(m&&m.col>=bc)m.col+=n}G2setRowsCols(M)M.setModified()}function G2setRowsCols(M){var rows=1var cols=1for(var p in M.GE){var cell=M.GE[p]if(cell){rows=Math.max(rows,cell.row)cols=Math.max(cols,cell.col)}}for(var i=rows+1;i<M.G8.length;i++)if(M.G8[i])rows=ifor(var i=cols+1;i<M.G9.length;i++)if(M.G9[i])cols=ifor(var i in M.images){var im=M.images[i]if(im){rows=Math.max(rows,im.row)cols=Math.max(cols,im.col)}}M.rows=rowsM.cols=cols}function G2hex(value){var s=""var v=Math.round(value)if(v<0)v=Math.abs(0x01000000000000+v)while(v!=0){var p=v % 16if(p<0)p=16+ps="0123456789abcdef".charAt(p)+sv=Math.floor(v / 16)}if(s=="")s="0"s="0x"+sreturn s}function G2bin(value){var s=G2hex(value)var bindig=["0000","0001","0010","0011","0100","0101","0110","0111","1000","1001","1010","1011","1100","1101","1110","1111"]var hexdig="0123456789abcdef"var res="0b"for(var i=2;i<s.length;i++)res+=bindig[hexdig.indexOf(s.charAt(i))]return res}function G2putImage(M,v,reload){var id=v.idif(id==null){var id=-1for(var i=0;id<0&&i<M.images.length;i++)if(!M.images[i])id=iif(id<0)id=M.images.lengthv.id=id}M.images[id]=vG2setRowsCols(M)M.setModified()if(v.chart&&reload)G2buildChart(M,v)return v}function G2removeImage(M,id){M.images[id]=nullG2setRowsCols(M)M.setModified()}function G2getImages(M){var res=[]for(var i=0;i<M.images.length;i++)if(M.images[i])res[res.length]=M.images[i]return res}function G2getImage(M,ind){return M.images[ind]}function G2getImageByImgId(M,id){for(var i=0;i<M.images.length;i++){var m=M.images[i]if(m&&m.img&&m.img.id==id)return m}return null}function G2genHttpRequest(request){request=falseif(window.XMLHttpRequest){request=new XMLHttpRequest()if(request.overrideMimeType){request.overrideMimeType('text/xml')}}else if(window.ActiveXObject){try{request=new ActiveXObject("Msxml2.XMLHTTP")}catch(e){try{request=new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}}}return request}function G2buildChartLater(M,v){return function(){G2buildChart(M,v)}}function G2buildChart(M,v){v.src=''var reqdata="<?xml version='1.0' encoding='UTF-8' ?>\n<chart width='"+(v.width?v.width:320)+"' height='"+(v.height?v.height:240)+"' "reqdata+="format='"+v.chart.toLowerCase()+"' "if(v.title)reqdata+="title='"+encodeURIComponent(v.title.replace("'","`"))+"' "reqdata+="legend='"+(v.legend?"y":"n")+"' "reqdata+="d3='"+(v.d3?"y":"n")+"' "reqdata+=" >"if(v.chart=='bars'||v.chart=='columns'||v.chart=='line'){reqdata+="<bars-data "if(v.titlex)reqdata+="x-label='"+encodeURIComponent(v.titlex.replace("'","`"))+"' "if(v.titley)reqdata+="y-label='"+encodeURIComponent(v.titley.replace("'","`"))+"' "if(v.stacked)reqdata+="stacked='y' "reqdata+="/>"}reqdata+=G2getChartData(M,v)reqdata+="</chart>"if(v.lastReq&&v.lastReq==reqdata)returnvar chartReq=G2genHttpRequest()var chart={image:v,request:chartReq}if(!chartReq){alert('Error while connecting to chart server')return}chartReq.onreadystatechange=function(){G2receiveChart(chart)}chartReq.open('POST','SheetChart.do',true)chartReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8')chartReq.send('r='+reqdata)}function G2receiveChart(chart){chartReq=chart.requestif(chartReq.readyState==4){if(chartReq.status==200||chartReq.status==0){var xmldoc=chartReq.responseXMLvar fileNode=xmldoc.getElementsByTagName('file').item(0)var errorNode=xmldoc.getElementsByTagName('error').item(0)if(fileNode!=null)chart.image.url=chart.image.img.src=fileNode.getAttribute("url")elseif(errorNode!=null)alert("Error when generating chart: "+errorNode.getAttribute("type")+"\n"+errorNode.getAttribute("text"))elsealert('Error when generating chart: Unexpected server response')}elsealert('Error in chart server response. status='+chartReq.status)}}function G2getChartData(M,v){var res='<series>'if(v.incols){for(var c=v.fromCol;c<=v.toCol;c++){res+='<serie>'for(var r=v.fromRow;r<=v.toRow;r++)res+=G2chartValue(M,r,c)res+='</serie>'}}else{for(var r=v.fromRow;r<=v.toRow;r++){res+='<serie>'for(var c=v.fromCol;c<=v.toCol;c++)res+=G2chartValue(M,r,c)res+='</serie>'}}res+='</series>'return res}function G2chartValue(M,r,c){var res='<item 'var ce=G2getCell(M,r,c)if(ce){if(ce.type=='number')res+="value='"+ce.value+"' "elseres+="text='"+encodeURIComponent(ce.text.replace("'","`"))+"' "}res+='/>'return res}function G2refreshCharts(M){for(var i=0;i<M.images.length;i++){var ch=M.images[i]if(ch&&ch.chart){setTimeout(G2buildChartLater(M,ch),200)}}}function G2sort(M,fr,fc,tr,tc,f1,asc1,f2,asc2,f3,asc3){if(tr>M.rows)tr=M.rowsif(tc>M.cols)tc=M.colsvar srRows=[]for(var r=fr;r<=tr;r++){var srRow=[]srRows[srRows.length]=srRowfor(var c=fc;c<=tc;c++){var cell=G2getCell(M,r,c)srRow[srRow.length]=cell}}var sortCols=[]if(f1!=0)sortCols[0]={by:f1-fc,asc:asc1}if(f2!=0)sortCols[1]={by:f2-fc,asc:asc2}if(f3!=0)sortCols[2]={by:f3-fc,asc:asc3}srRows.sort(function cmp(r1,r2){return G1(r1,r2,sortCols)})for(var isr=0;isr<srRows.length;isr++){var r=isr+frvar srRow=srRows[isr]for(var isc=0;isc<srRow.length;isc++){var cell=srRow[isc]var c=isc+fcif(cell==null)G2remove(M,r,c)else{if(cell.text&&cell.text.length>1&&cell.text.charAt(0)=='='){var af=parser.adjustReferencesMove(cell.text,cell.row,fc,cell.row,tc,r-cell.row,0)if(af){cell.text=afcell.execCode=null}}cell.row=rcell.col=cG2put(M,cell)}}}}function G1(r1,r2,sortCols){var cc=0for(var i=0;i<sortCols.length;i++){var sc=sortCols[i]cc=G0(r1[sc.by],r2[sc.by],sc.asc)if(cc!=0)return cc}return cc}function G0(c1,c2,asc){if((c1==null||c1.type=="null"||c1.type=="pending")&&(c2==null||c2.type=="null"||c2.type=="pending"))return 0if(c1==null||c1.type=="null"||c1.type=="pending")return 1if(c2==null||c2.type=="null"||c2.type=="pending")return-1var cc=0if(c1.type==c2.type){if(c1.type=="number")cc=c1.value-c2.valueelseif(c1.type=="text"||c1.type=="boolean")cc=c1.value<c2.value?-1:(c1.value>c2.value?1:0)}else{if(c1.type=="number")cc=-1elseif(c2.type=="number")cc=1elseif(c1.type=="text")cc=-1elseif(c2.type=="text")cc=1}var sasc=asc?1:-1return cc*sasc}function G2getDyn(M,id){var v=M.GA[id]if(v)return vif(M.GB[id]==null){M.GB[id]=1M.GC=new Date().getTime()}setTimeout(G2G5Later(M),300)v={type:"pending"}return v}function G2G5Later(M){return function(){G2G5(M)}}function G2G5(M){if(M.GC>M.GD){M.GD=M.GCvar reqdata="<?xml version='1.0' encoding='UTF-8' ?>\n"reqdata+="<items owner='"+M.ownerId+"'>"var items=0for(var p in M.GB){if(M.GB[p]!=null){reqdata+="<item id='"+escape(p)+"' />"items++}}reqdata+="</items>"if(items>0){var dynReq=G2genHttpRequest()if(!dynReq){alert('Error while connecting to data server')M.GD=0return}dynReq.onreadystatechange=function(){G2receiveDyns(M,dynReq)}dynReq.open('POST','DynData.do',true)dynReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8')dynReq.send('r='+reqdata)}}}function G2receiveDyns(M,dynReq){if(dynReq.readyState==4){if(dynReq.status==200||dynReq.status==0){var xmlDoc=dynReq.responseXMLvar items=xmlDoc.getElementsByTagName("item")var dynlist=[]for(var i=0;i<items.length;i++){var item=items[i]var id=unescape(item.getAttribute("id"))var type=item.getAttribute("type")var value=item.getAttribute("value")if(value!=null){value=unescape(value)if(type=="number")value=parseFloat(value)}var pattern=item.getAttribute("pattern")if(pattern!=null)pattern=unescape(pattern)var error=item.getAttribute("error")if(error!=null)error=unescape(error)var dynval={type:type,value:value,pattern:pattern,error:error}dynlist[id]=dynval}setTimeout(G2G6(M,dynlist),500)}elsealert('Unexpected error in server response. status='+dynReq.status)}}function G2G6(M,dynlist){return function(){G2G7(M,dynlist)}}function G2G7(M,dynlist){var modified=[]for(var id in dynlist){G2setDyn(M,id,dynlist[id],modified)}var modCells=[]for(var k in modified)modCells[modCells.length]=modified[k]M.G4Cells=modCells}function G2setDyn(M,id,v,modified){M.GA[id]=vM.GB[id]=nullfor(var fk in M.GF){var f=M.GF[fk]if(f&&f.requiresDyns&&f.requiresDyns[id]){var lm=M.lastModifiedvar r=G2put(M,f)M.lastModified=lmvar key='R'+f.row+'C'+f.colmodified[key]=fif(r.affected&&r.affected.length>0){for(var ia=0;ia<r.affected.length;ia++){var ac=r.affected[ia]var key='R'+ac.row+'C'+ac.colmodified[key]=ac}}}}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -