Sie müssen zwei Dinge tun:
1.) Markieren Sie die Zelle als "Wrapped Text". Sie können dies in der Tabelle von Hand tun, wenn Sie eine vorhandene Tabelle als Vorlage verwenden. Klicken Sie einfach mit der rechten Maustaste auf die Zellen und wählen Sie "Zellen formatieren ..", klicken Sie auf die Registerkarte "Ausrichtung" und markieren Sie das Kontrollkästchen "Wrap Text".
OR ... Sie können das CellFormat programmgesteuert festlegen. Wenn Sie ein CellFormat Objekt aufgerufen haben „cf“, würden Sie so etwas tun:
cf.ApplyAlignment = true;//Set this so that Excel knows to use it.
if (cf.Alignment == null)//If no pre-existing Alignment, then add it.
cf.Alignment = new Alignment() { WrapText = true };
Alignment a = cf.Alignment;
if (a.WrapText == null || a.WrapText.Value == false)
a.WrapText = new BooleanValue(true);//Update pre-existing Alignment.
2.) Sie sollten nicht „\ n“ verwenden, stattdessen sollten Sie die Verwendung werden Standard-Wagenrücklauf- + Zeilenvorschub-Kombination: "\ r \ n"
Wenn Sie die beiden mischen (dh "\ n" ohne die vorangestellten "\ r" und "\ r \ n"), sollte dies behoben werden vor dem Auffüllen des Zellenwerts:
sHeaderText = sHeaderText.Replace("\r\n", "\n").Replace("\n", "\r\n");
Ich selbst verwende nicht CellValues.String oder sogar CellValues.InlineString.
Stattdessen baue ich meine Textzellen mit CellValues.SharedString (genau wie Excel).
Für Bool verwende ich "CellValues.Boolean", und für alle anderen (Zahlen und Daten) setze ich die Zelle DataType zu nichts - weil das ist, was Excel tut, wenn ich auf das Markup erstelle es erstellt.
Wie wenden Sie das "CellFormat" -Objekt oder "Alignment" -Objekt auf eine bestimmte Zelle an? – Panzercrisis
Das funktioniert nicht für mich. Ich bekomme nur einen Fehler in der Zeile mit \ r \ n und Excel öffnet das Blatt nicht mit dem Text, dass es beschädigt ist – johnstaveley