我有一个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知识的有限限制。
非常感谢任何帮助。
由于
答案 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;
}