JS中字母转换为Excel表格的对应列

工作遇到一个需求 需要将一个数字转换成Excel表格的对应列名.

 

 

Excel到Z之后 接下来 AA ...

 

经研究发现,js有方法 

JavaScript fromCharCode() 方法

定义和用法

fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串。

 

JavaScript charCodeAt() 方法

定义和用法

charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。

方法 charCodeAt() 与 charAt() 方法执行的操作相似,只不过前者返回的是位于指定位置的字符的编码,而后者返回的是字符子串。

 

 

 

所以就有了一下代码

function createCellPos( n ){

  var ordA = 'A'.charCodeAt(0); //字母转unicode

       var ordZ = 'Z'.charCodeAt(0); 

        var len = ordZ - ordA + 1; // 计算字母长度

  var s = "";

  while( n >= 0 ) {

    s = String.fromCharCode(n % len + ordA) + s; // 将输入数字转换成字母

    n = Math.floor(n / len) - 1; // 每次进行完需要重新floor向下取整,  -1是因为 A的unicode是0

  }

  return s;

}

参考地址 https://blog.csdn.net/weixin_42349358/article/details/80517198?utm_source=blogxgwz4

posted @ 2020-09-14 15:28  姓蜀名黍  阅读(735)  评论(0编辑  收藏  举报