如何将字母列索引(比如D)转化为数字列索引(比如4)

阅读次数 30

有没有类似的api可以快速将A转化为索引4,或者将4转换为字母列

1 Answers

D -> 4

function columnLetterToNumber(column) {
    let result = 0;
    for (let i = 0; i < column.length; i++) {
        result = result * 26 + (column.charCodeAt(i) - 'A'.charCodeAt(0) + 1);
    }
    return result;
}

4 -> D

function numberToColumnLetter(num) {
    let column = '';
    while (num > 0) {
        num--; // 调整为 0 基数
        let remainder = num % 26;
        column = String.fromCharCode(remainder + 'A'.charCodeAt(0)) + column;
        num = Math.floor(num / 26);
    }
    return column;
}