Spaltenindex anhand des Spaltenbuchstabens in Excel ermitteln

by Flo 9. May 2008 12:38

Heute musste ich bei einem kleinen Projekt den Spaltenindex anhand des oder der Buchstaben ermitteln. Wahrscheinlich gibt es dafür bereits etwas fertiges. Nichts desto trotz habe ich mir selbst etwas einfallen lassen. ;-)

public int GetColumnIndexByLetter(char[] cs)
{
    int index = 0;
    int tempIndex = 0;

    for (int i = cs.Length, j = 0; i > 0; i--, j++)
    {
        switch (cs[j])
        {
            case 'A':
                tempIndex = 1;
                break;
            case 'B':
                tempIndex = 2;
                break;
            case 'C':
                tempIndex = 3;
                break;
            case 'D':
                tempIndex = 4;
                break;
            case 'E':
                tempIndex = 5;
                break;
            case 'F':
                tempIndex = 6;
                break;
            case 'G':
                tempIndex = 7;
                break;
            case 'H':
                tempIndex = 8;
                break;
            case 'I':
                tempIndex = 9;
                break;
            case 'J':
                tempIndex = 10;
                break;
            case 'K':
                tempIndex = 11;
                break;
            case 'L':
                tempIndex = 12;
                break;
            case 'M':
                tempIndex = 13;
                break;
            case 'N':
                tempIndex = 14;
                break;
            case 'O':
                tempIndex = 15;
                break;
            case 'P':
                tempIndex = 16;
                break;
            case 'Q':
                tempIndex = 17;
                break;
            case 'R':
                tempIndex = 18;
                break;
            case 'S':
                tempIndex = 19;
                break;
            case 'T':
                tempIndex = 20;
                break;
            case 'U':
                tempIndex = 21;
                break;
            case 'V':
                tempIndex = 22;
                break;
            case 'W':
                tempIndex = 23;
                break;
            case 'X':
                tempIndex = 24;
                break;
            case 'Y':
                tempIndex = 25;
                break;
            case 'Z':
                tempIndex = 26;
                break;
        }

        if (i == 1)
            index += tempIndex;
        else
            index += tempIndex * ((i-1) * 26);
    }

    return index;
}

Tags: ,

.NET

Powered by BlogEngine.NET 1.5.0.7
Theme by Mads Kristensen

Über mich

Ich bin freiberuflicher Softwareentwickler (.NET, Cocoa, Webentwicklung) und versuche mich als hobbymäßig an der Fotografie.

Seit 1. Oktober 2007 studiere ich in an der Georg-Simon-Ohm-Hochschule in Nürnberg Wirtschaftsinformatik.

Calendar

<<  May 2012  >>
MoTuWeThFrSaSu
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

View posts in large calendar