如何在Excel中获取行高?

4

有没有办法在OpenXML中获取Excel行的行高?

在我的情况下,我使用OpenXML 2.0从.NET DataTable生成Excel表。对于每个数据表行,我通过以下方式定义Excel中的新行:

  row = new Row() { RowIndex = rowIndex };

之后,我将单元格添加到行中。
 row.InsertBefore(newCell, refCell);

生成Excel表格后,我希望能够获取每行的高度并将其增加。但是在使用时,它总是为空。
    Row row = ExcelHelper.GetRow(sheetData, Convert.ToUInt32(13));
    DoubleValue a = row.Height;

请帮帮我!谢谢!

1个回答

2

只有当XML中的customHeight属性设置为true时,Microsoft Excel Open XML格式的行才具有height属性,否则行高只是DefaultRowHeight

你应该首先检查 row.CustomHeight != null && row.CustomHeight.Value == true,然后你就知道它有自定义的行高,Height属性不会为空。

在另一种情况下,你可以在SheetFormatProperties.DefaultRowHeight中获取默认行高。

因此,要将行高设置为自定义值,需要将其CustomHeight属性更改为true,并将Height属性更改为自定义行高。


感谢Alexander Derck,我有一个文本值的单元格。在将带有值的单元格插入到行中后,我如何获取该行的行高?因为在将单元格添加到行后,openxml将根据单元格中字符的数量自动设置行高。 - Truong Pham
@TruongPham 仍然是一样的。除非您为行设置自定义行高,否则默认行高不变。单元格不会变高,因为内容不适合。 - Alexander Derck

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接