jQuery从excel范围计算列数

时间:2017-04-04 17:45:16

标签: c# jquery asp.net excel

我有一个C#网页表单,用户将有关excel文件的数据输入到多个文本框中,包括:

  • TXT_FirstDataRow - 整数字段,表示包含数据的第一行
  • TXT_LastDataColumn - 字符串字段,表示包含数据的最后一列
  • TXT_Range - 字符串字段,其中包含使用上述两个字段计算的数据范围
  • TXT_ColumnCount - 计算范围内的列数

我目前正在使用jQuery使用下面的代码自动计算数据范围:

$('#TXT_FirstDataRow,#TXT_LastDataColumn').keyup(function () {

    var row = $('#TXT_FirstDataRow').val();
    var column = $('#TXT_LastDataColumn').val();
    var range = 'A' + row + ':' + column; //All ranges start at column A

    $('#TXT_Range').val(range);
});

我现在想要自动使用列数填充TXT_ColumnCount。例如:

Range |Column Count
------+------------
A1:C  |3
A7:BX |76

我认为这应该更容易,因为范围始终从A列开始,所以列数应该只是TXT_LastDataColumn的等效列数,但我是害怕即使这超出了我对jQuery知识的有限限制。

非常感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:0)

我在SO上找到了一个帮助我的答案,链接如下:

Convert excel column alphabet (e.g. AA) to number (e.g., 25)

function letterToNumbers(string) {
    string = string.toUpperCase();
    var letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', sum = 0, i;
    for (i = 0; i < string.length; i++) {
        sum += Math.pow(letters.length, i) * (letters.indexOf(string.substr(((i + 1) * -1), 1)) + 1);
    }
    return sum;
}