You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ClosedXML调整行高且行背景色与工作表一致时样式丢失问题

ClosedXML调整行高时同色行背景样式丢失异常

参考官方行高与样式相关使用示例时发现如下异常:当行被调整行高,且该行设置的背景色与所属工作表背景色完全一致时,行背景色会消失并回退为默认样式,该类行绑定的所有自定义样式都会完全丢失,异常效果如下图:
行样式丢失异常效果

复现代码

场景1:工作表背景色(绿色)与行背景色(红色)不同+调整行高:运行结果正常

public void Main()
{
    var document = new XLWorkbook();
    var ws = document.Worksheets.Add("Row Settings");
    ws.Style.Fill.BackgroundColor = XLColor.Green;

    var row1 = ws.Row(2);
    row1.Style.Fill.BackgroundColor = XLColor.Red;
    row1.Height = 30;

    var row2 = ws.Row(4);
    row2.Style.Fill.BackgroundColor = XLColor.DarkOrange;
    row2.Height = 3;

    document.SaveAs("Correct-Diff.xlsx");
}

场景1正常效果

场景2:工作表背景色(红色)与行背景色(红色)相同+不调整行高:运行结果正常

public void Main()
{
    var document = new XLWorkbook();
    var ws = document.Worksheets.Add("Row Settings");
    ws.Style.Fill.BackgroundColor = XLColor.Red;

    var row1 = ws.Row(2);
    row1.Style.Fill.BackgroundColor = XLColor.Red;

    var row2 = ws.Row(4);
    row2.Style.Fill.BackgroundColor = XLColor.DarkOrange;
    row2.Height = 3;

    document.SaveAs("Correct-NoHeight.xlsx");
}

场景2正常效果

场景3:工作表背景色(红色)与行背景色(红色)相同+调整行高:运行结果异常

public void Main()
{
    var document = new XLWorkbook();
    var ws = document.Worksheets.Add("Row Settings");
    ws.Style.Fill.BackgroundColor = XLColor.Red;

    var row1 = ws.Row(2);
    row1.Style.Fill.BackgroundColor = XLColor.Red;
    row1.Height = 30;

    var row2 = ws.Row(4);
    row2.Style.Fill.BackgroundColor = XLColor.DarkOrange;
    row2.Height = 3;

    document.SaveAs("Incorrect.xlsx");
}

场景3异常效果

问题

是否存在可行方案,能够在调整行高的同时,保留与工作表同色的行背景样式,实现场景3的预期正确效果?

注:该问题已同步提交至官方反馈渠道,供遇到相同问题的开发者参考。

内容的提问来源于stack exchange,提问作者Renat Zamaletdinov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 22:57:22