gpt4 book ai didi

c# - 获取范围内的列宽列表?

转载 作者:太空宇宙 更新时间:2023-11-03 23:38:51 25 4
gpt4 key购买 nike

使用 EPPlus,有没有办法确定一个范围内的列宽?

假设我想在执行自动调整后获取第 1 列到第 10 列的宽度:

// autofit columns 1 through 10 based on all data
worksheet.Cells[2, 1, numberOfRows + 2, 10].AutoFitColumns(22, 50);
// determine resulting widths
List<double> columnWidths = worksheet.Cells[2, 1, 2, 10]
.Select(s=> s.Width/* doesn't work, no Width property */ ).ToList();

这行不通,因为 .Cells生成 IEnumerable<ExcelRangeBase>而 ExcelRangeBase 中的每一项本身就是一个嵌套的 ExcelRangeBase,它似乎永远持续下去。所以没有多少.Select曾经到达一个细胞列表。 Cells 索引被精心设计为仅生成一行单元格,我希望为其获取每个单元格的宽度。不确定是否有一种优雅的方式来完成此任务。

我如何填充 columnWidths包含第 1 列到第 10 列的宽度列表?

最佳答案

好吧,您可以从 ExcelRangeBase 对象的 .Start 属性获取范围内第一个单元格的 ExcelCellAddress 对象。

这导致了这种替代方法:

List<double> columnWidths = worksheet.Cells[2, 1, 2, 10]
.Select(s => worksheet.Column(s.Start.Column).Width)
.ToList();

我认为它略微更好,但优雅在旁观者的眼中是坚定的! :-)

关于c# - 获取范围内的列宽列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29833198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com