Feedback

Integer nach Excel Spalten Bezeichnung

Sprache: C#

Dieses kleine Snippet, ermittelt aus einer Integer Zahl die jeweilige Excel interne Spalten Bezeichnung. Beispiel 1 ==> A 2 ==> B . . 26 ==> Z 27 ==> AA usw **UPDATE** Ich habe das ganze nochmal verkürzt und die begrenzung auf zwei zeichen rausgenommen also haben wir nur noch normale integer grenzen!! mfg
/// <summary>
/// Dieses Funktion kann dazu benutzt werden, um eine integer Zahl in eine Buchstaben Kombination
/// umzuwandeln die der Kopfzeile eines Excel Dokumentes entspricht
///
/// UPDATE
/// und nun haben ich euch auch die Begrenzung auf zwei stellen mal rausgenommen
/// </summary>
/// <param name="colNumber"></param>
/// <returns>(string) die jeweilige Spalten Bezeichnung</returns>
private string IntConvertToExcelHeadLine(int colNumber)
	{
		string colBez = "";
		int rest = 0;
		
		// Ist die Zahl größer als 26 ist das ergebniss mindestens 2 Stellig
		// also muß eine Schleifen verarbeitung her
		if (colNumber > 26){
			do{
                // Ganzzahl ermitteln für den nächsten durchlauf
				colNumber = Math.DivRem(colNumber, 26, out rest);
				if (rest==0){
					colNumber -= 1;
					rest = 26;
				}
                //Umwandlung in einen Buchstaben (die + 64 sollten jedem klar)
				colBez = (char)(rest+64) + colBez;
			}while (colNumber > 26);
		}
		colBez = (char)(colNumber + 64) + colBez;

		return colBez;
	}
/// <summary>
/// Dieses Funktion kann dazu benutzt werden, um eine integer Zahl in eine Buchstaben Kombination
/// umzuwandeln die der Kopfzeile eines Excel Dokumentes entspricht
///
/// UPDATE
/// und nun haben ich euch auch die Begrenzung auf zwei stellen mal rausgenommen
/// </summary>
/// <param name="colNumber"></param>
/// <returns>(string) die jeweilige Spalten Bezeichnung</returns>
private string IntConvertToExcelHeadLine(int colNumber)
	{
		string colBez = "";
		int rest = 0;
		
		// Ist die Zahl größer als 26 ist das ergebniss mindestens 2 Stellig
		// also muß eine Schleifen verarbeitung her
		if (colNumber > 26){
			do{
                // Ganzzahl ermitteln für den nächsten durchlauf
				colNumber = Math.DivRem(colNumber, 26, out rest);
				if (rest==0){
					colNumber -= 1;
					rest = 26;
				}
                //Umwandlung in einen Buchstaben (die + 64 sollten jedem klar)
				colBez = (char)(rest+64) + colBez;
			}while (colNumber > 26);
		}
		colBez = (char)(colNumber + 64) + colBez;

		return colBez;
	}