日期:2014-05-16  浏览次数:20340 次

怎么实现excel列
excel那样的列怎么实现呢,就是A-Z 完了后AA-ZZ,更多就会出现AAA-ZZZ,我需要无限的,自己想了半天,就凑了个AA-ZZ的显示,更多的就没办法了,应该是用递归的方式来实现的吧,但是没想到更具体的实现方式,卡主了,望高手指点哪.
------解决方案--------------------
给你一个十进制转26进制的函数,列的标题你就用这个函数来生成一下就行了。另外,IE的table最多也就支持4000过列,不能再多了。
<script>
// 十进制转26进制
var AZdata="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
function AZ(n){
var r=[];
while(n>25){
r.push(AZdata.charAt(n%26));
n=Math.floor(n/26-1)
}
r.push(AZdata.charAt(n));
r.reverse();
return r.join('')
}

for(var i=0;i<1000;i++){
document.write(AZ(i)+'<br>');
}
</script>