Wie man Excel Zeilenumbruch in der Formel Zelle mit ClosedXml

Das problem ist, dass der Inhalt der Zelle wird nicht umgebrochen, wenn die Zelle eine Formel enthält, Bezug zu einer Zelle mit einigen langen Schnur.

Auf CodePlex fand ich einen thread zu diesem Thema, sowie einen einfachen code, um zu sehen, das problem:

var generated = new XLWorkbook();
var workSheet = generated.AddWorksheet("Test");
workSheet.Cell("B1").Style.Alignment.WrapText = true;
workSheet.Cell("B1").Value = "hello hello hello hello hello";
workSheet.Cell("A3").FormulaA1 = "B1";
workSheet.Cell("A3").Style.Alignment.WrapText = true;
generated.SaveAs("Generated.xlsx");

Ich habe auch versucht, legen Sie die Zeilenhöhe manuell anstelle der Umhüllung der Zelle:

workSheet.Row(3).Height = workSheet.Row(1).Height;

Jedoch zu keinem Erfolg.

Kann ich irgendetwas dagegen tun?


Folgenden den Kommentar von Peter Albert, ich habe versucht, die set-Zeile AutoFit. Die einzige Sache, die ich geschafft zu finden, dies zu tun in ClosedXML ist workSheet.Row(3).AdjustToContent();. Aber das hat nicht funktioniert entweder (weder die Anpassung der Inhalte von bestimmten Spalte).

  • Versuchen worksheet.Cell("A3").WrapText = True gefolgt von worksheet.Row(3).EntireRow.AutoFit
  • Ich nehme an, dass dies eine Antwort Wert!
  • Nein, es ist nicht
  • überprüft haben dies selbst? Außerdem gibt es keine Eigenschaft EntireRow im IXLRow....Ich nehme an, du meintest AdjustToContent ?? Aber das ändert nichts.
  • Ich habe versucht, gerade .WrapText = True auf die Zelle, die reffers anderen Zelle mit dem langen text und es funktionierte für mich (Zelle wuchs bis horizontal). Ich verstehe nicht, Ihr problem...
  • Nein. Ich habe Ihren code benutzt. Vielleicht versuchen, ein makro aufzeichnen und sehen, was der makro-Rekorder-code produzieren, wenn Sie ändern Sie die Zelle format zu format, die Sie benötigen.
  • könnten Sie, bitte, zeigen ein kleines programm arbeiten (wie in meiner Frage), erzeugen einer xlsx mit einer Zelle mit Formel, ändert seine Breite je nach dem angezeigten Wert?
  • Sie wollen code, wird die Größe der Spalte nach der Spalte mit dem Wert aktualisieren? Verwenden Sie Columns(A:A).EntireColumn.AutoFit nach jedem Wert ändern.

InformationsquelleAutor horgh | 2013-03-04
Schreibe einen Kommentar