什么是一个Excel列字母转换成其编号的算法? [英] What is the algorithm to convert an Excel Column Letter into its Number?
本文介绍了什么是一个Excel列字母转换成其编号的算法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要一个算法来一个Excel列字母转换到正确的号码。
这将在用的语言是C#,但任何会做,甚至伪code。
请注意我打算把这个在C#中,我不希望使用Office的DLL。
有关'A'预期的结果将是1
有关'啊'= 34
有关'XFD'= 16384
解决方案
公共静态INT ExcelColumnNameToNumber(字符串COLUMNNAME)
{
如果(string.IsNullOrEmpty(COLUMNNAME))抛出新的ArgumentNullException(COLUMNNAME); COLUMNNAME = columnName.ToUpperInvariant(); INT总和= 0; 的for(int i = 0; I< columnName.Length;我++)
{
总之* = 26;
总和+ =(COLUMNNAME [I] - 'A'+ 1);
} 返回总和;
}
I need an algorithm to convert an Excel Column letter to its proper number.
The language this will be written in is C#, but any would do or even pseudo code.
Please note I am going to put this in C# and I don't want to use the office dll.
For 'A' the expected result will be 1
For 'AH' = 34
For 'XFD' = 16384
解决方案
public static int ExcelColumnNameToNumber(string columnName)
{
if (string.IsNullOrEmpty(columnName)) throw new ArgumentNullException("columnName");
columnName = columnName.ToUpperInvariant();
int sum = 0;
for (int i = 0; i < columnName.Length; i++)
{
sum *= 26;
sum += (columnName[i] - 'A' + 1);
}
return sum;
}
这篇关于什么是一个Excel列字母转换成其编号的算法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文