Reputation: 1439
I create cell with text. After that I set WrapText property and column width.
var cell = worksheet.Cell("A1");
cell.Style.Alignment.WrapText = true;
cell.SetValue("This is very long text");
worksheet.Column(1).Width = 10;
worksheet.Rows().AdjustToContents();
The text has been moved by words, but row height is not changed. How to adjust row height to cell content?
Upvotes: 24
Views: 44689
Reputation: 3247
You can also AdjustToContents on Specific range of cells for column level contents.
worksheet.Columns(2, 20).AdjustToContents();
Upvotes: -1
Reputation: 69
I think this is a bug of ClosedXML. enter link description here
ws.Row(1).AdjustToContents();
ws.Row(1).ClearHeight();
In my case it works. Version: 0.95.4
Upvotes: 6
Reputation: 226
The following code worked for me.
IXLRange contents = ws.Range("A1:A50");
contents.Style.Alignment.WrapText = true;
Upvotes: 1
Reputation: 207
There are many ways to achieve this.
Don't use wrap or shrink properties on cell values rather include this line just before saving your excel
ws.Columns().AdjustToContents();
Another way is to make use of Allignment property
IXLRange titleRange = ws.Range("B2:AA2");
titleRange.Cells().Style
.Alignment.SetWrapText(true); // Its single statement
Hope it helps!!
Upvotes: 19
Reputation: 17550
It works when you remove the worksheet.Rows().AdjustToContents();
.
Autofitting sometimes needs more of a trial and error approach ...
Upvotes: 16