【问题标题】:How to get index/position of excel column in javascript如何在javascript中获取excel列的索引/位置
【发布时间】:2018-04-21 12:34:40
【问题描述】:

我正在开发一个程序,我需要找出给定 excel 列索引的索引/位置。

如果我通过 A 它应该返回 1

如果我通过了AA,它应该返回 27

如果我通过了AB,它应该返回 28

如果我通过了AAA,它应该返回 26*26*26(不确定但想获得实际位置)

到目前为止我做了什么

var str = "AB";
            var d = 0;
            for (var i = 1, m = 26; i < string.length ; i++) {

                if(string.length === 1) {
                    var d = parseInt(string.charCodeAt(i) - index);
                } else if (string.length === 2){
                    var d = parseInt(((string.charCodeAt(i) - index) * m ) + (i));
                } else {
                    var d = parseInt(((string.charCodeAt(i) - index) * m ) + (i));
                }

            }

【问题讨论】:

    标签: javascript excel math calculated-columns


    【解决方案1】:
    var str = "MM19";
                var number_regex = /[+-]?\d+(\.\d+)?/g;
                var matches = [];
                str.replace(number_regex, function (match) {
                        matches.push(match);
                    });
                str = str.replace(/[0-9]/g, '');
                matches.push(str);
    
                console.log(matches[1]);
    
                var index = 64;
    
                var string = matches[1];
    
                var columnIndex = 0;
                var counter = 0;
                var baseValue;
                var m = 26;
                console.log("length is:", string.length);
                for (var i = string.length-1; i >= 0; i--) {
                    columnIndex = columnIndex + (string.charCodeAt(i) - index) * Math.pow(m, counter);
                    counter++;
    
                }
                console.log("index value", columnIndex);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-09
      • 2011-06-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多