19
votes

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?

5

5 Answers

17
votes

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!!

15
votes

It works when you remove the worksheet.Rows().AdjustToContents();.

Autofitting sometimes needs more of a trial and error approach ...

1
votes

The following code worked for me.

IXLRange contents = ws.Range("A1:A50");
contents.Style.Alignment.WrapText = true;
1
votes

You can also AdjustToContents on Specific range of cells.

worksheet.Columns(2, 20).AdjustToContents();
0
votes

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