以编程方式更改Excel表格中的行高

14

如何修改我的EXCEL工作表中所有非空行的行高?谢谢! w.


你是指C#代码吗?如果是的话,只需放置一个foreach循环来检查所有行,并将行高设置为所需的高度(同时检查该行是否为空),直到达到行末。 - Theun Arbeider
9个回答

16
...EntireRow.RowHeight = value;

这个值是以像素(px)还是厘米(cm)为单位的? - Shiasu-sama

7
我使用以下内容:
        xlWorkSheet.Rows.RowHeight = height;
        xlWorkSheet.StandardWidth = width;

7

这仅适用于 Microsoft.Office.Tools.Excel.NamedRange,而不是所讨论的对象。 - Alain

5
MySheet.UsedRange.EntireRow.Height = value;

4
MySheet.UsedRange.EntireRow.Height 似乎是只读属性,无法进行设置。 - bdhar
不是真的,我刚试过了。只要你的工作表没有被保护,你就可以设置.UsedRange.EntireRow.Height属性。 - Alain
2
对我来说它是只读的。无法分配属性或索引器“Microsoft.Office.Interop.Excel.Range.Height”--它是只读的。 - liang
2
我还发现 "Height" 是只读的;但是 "RowHeight" 却不是。例如,这段代码可以编译通过:_xlSheet.UsedRange.EntireRow.RowHeight = 42; - B. Clay Shannon-B. Crow Raven

5

此链接将带您进入已退役文档的下载页面。 - Harry

5
这对我有用:
var SomeCell = (Excel.Range)_xlSheet.Cells[1, 1];             
SomeCell.Value2 = "What was D.D. Eisenhower's Gettysburg Address?";
SomeCell.RowHeight = 32;

3

试试这个

sampleRange.Resize.RowHeight=x; //x的类型必须是int


此答案目前在低质量队列中。请编辑您的答案并解释为什么这可以解决问题。 - IInspectable
1
这是对我有效的答案。一个小澄清是,该值不必是int,例如它也可以是double。 - MoonBoots89

0
 using (XLWorkbook xLWorkbook = new XLWorkbook())
       {
         var wordsheet = xLWorkbook.Worksheets.Add(dtEmpDetail, status);
         wordsheet.Row(2).Height = 50;
         wordsheet.Range("A1:d2").Merge();
        }

0

尝试这个,你可以使用类似以下的for循环来遍历所有行:

  int i = 0;

        for (var i = 0; i < column.Count(); i++)
        {
            worksheet.Row(i).Height = 100;
        }

请考虑在您的答案中添加解释。 - realr

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