Vlad
Vlad

Reputation: 1439

Using ClosedXML how to adjust row height to content?

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

Answers (5)

Smit Patel
Smit Patel

Reputation: 3247

You can also AdjustToContents on Specific range of cells for column level contents.

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

Upvotes: -1

Lisar
Lisar

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

Dhruv Rangunwala
Dhruv Rangunwala

Reputation: 226

The following code worked for me.

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

Upvotes: 1

Hardik B Bhilota
Hardik B Bhilota

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

Raidri
Raidri

Reputation: 17550

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

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

Upvotes: 16

Related Questions