例如:
A -> 1
B -> 2
C -> 3
... Z -> 26
AA -> 27
AB -> 28
...
/**
* 將 Excel 列標題轉換為數字
* @param {string} columnTitle - Excel 列標題
* @return {number} - 對應的數字
*/
var titleToNumber = function (columnTitle) {
// 檢查輸入的長度是否在 1 到 7 之間
if (columnTitle.length < 1 || columnTitle.length > 7) {
return 0;
}
// 初始化結果變量 sum 和指數變量 exp
let sum = 0;
let exp = 0;
// 從字符串的最後一位開始遍歷
for (let i = columnTitle.length - 1; i >= 0; i--) {
// 將字符轉換為對應的數字,A 對應 1,B 對應 2,依此類推
let charValue = columnTitle.charCodeAt(i) - 64;
// 計算該字符對應的數字值,並加到 sum 中
sum += charValue * Math.pow(26, exp++);
}
// 返回最終計算結果
return sum;
};