Feedback

C# - Integer nach Excel Spalten Bezeichnung

Veröffentlicht von am 22.11.2006
(7 Bewertungen)
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
GFU-Schulungen  [Anzeige]

ASP.NET Core und Angular Komplett für .NET-Entwickler

Sie  lernen in drei (3) Tagen wie man mit  ASP.NET Core und den Technologien  MVC, Entity Framework, WebAPI und  Razor professionelle sowie moderne  Web-Anwendungsarchitekturen aufbaut.  Die Schulung ist der perfekte  Einstieg um insbesondere datengetriebene  und präsentationsorientierte  Applikationen auf Basis der robusten und  skalierbaren ASP.NET Core  Plattform zu erstellen. Nach der Veranstaltung kennen Sie die Konzepte von Angular und können Angular in neue und bestehende ASP.NET-Anwendungen einsetzen.

ASP.NET 2.0 und 3.5

Dieser Kurs vermittelt Ihnen alle Erweiterungen von Microsoft ASP.NET 2.0. Zu diesen zählen u. a. Data Bindung, Master Pages, und Security.

/// <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;
	}

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!