工作遇到一個需求 需要將一個數字轉換成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