一尘不染

将Excel列字母转换为数字的算法是什么?

c#

我需要一种将Excel列字母转换为其正确数字的算法。

它将使用的语言是C#,但是任何人都可以使用,甚至可以使用伪代码。

请注意,我将把它放在C#中,并且我不想使用Office dll。

对于“ A”,预期结果将为1

对于’AH’= 34

对于’XFD’= 16384


阅读 400

收藏
2020-05-19

共1个答案

一尘不染

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;
}
2020-05-19