C# ClosedXML 将条件格式应用于一大组单元格的性能

问题描述 投票:0回答:1
        var valuesC = this.Charges.Where(x => x.Type == PropertyType.Charge).ToList();
        foreach(var valueCharge in valuesC)
        {
            var column = Sheet.Column(valueCharge.Id);
            foreach(var cell in column.Cells())
            {
                cell.AddConditionalFormat().WhenIsTrue($"ISNUMBER(${cell.Address})=FALSE").Fill.SetBackgroundColor(XLColor.Red);
            }
        }

对大约 30 列执行的此操作非常慢,而且行数很少,有没有办法提高 ClosedXML 中此代码的性能? 12排大约需要2-3分钟。有什么我忽略的吗?

c# .net excel closedxml
1个回答
0
投票

不要逐个单元格应用条件格式,而是在尽可能大的范围内应用条件格式。基本上,就像在 Excel 中一样,这可能是选择整个列并为每列应用一次条件格式。

© www.soinside.com 2019 - 2024. All rights reserved.