C# 电子表格格式条件到单元格

C# 电子表格格式条件到单元格,c#,excel,formatting,spreadsheetgear,C#,Excel,Formatting,Spreadsheetgear,在我的MVC项目中,我使用电子表格生成excel文档。我有一个列,它有一个验证规则,只允许用户从以下选项中选择:a、B、C、D。我需要能够为每个选项设置不同的背景颜色。例如: A-绿色 B-黄色 C-橙 D-红色 我在运行代码时遇到了以下错误: 已存在最大数量的FormatConditions 我的代码如下: conditions.Add(FormatConditionType.CellValue, FormatConditionOperator.Equal, "A", null).Interi

在我的MVC项目中,我使用电子表格生成excel文档。我有一个列,它有一个验证规则,只允许用户从以下选项中选择:a、B、C、D。我需要能够为每个选项设置不同的背景颜色。例如:

  • A-绿色
  • B-黄色
  • C-橙
  • D-红色
  • 我在运行代码时遇到了以下错误:

    已存在最大数量的FormatConditions

    我的代码如下:

    conditions.Add(FormatConditionType.CellValue, FormatConditionOperator.Equal, "A", null).Interior.Color = Color.LightGreen;
    conditions.Add(FormatConditionType.CellValue, FormatConditionOperator.Equal, "B", null).Interior.Color = Color.Yellow;
    conditions.Add(FormatConditionType.CellValue, FormatConditionOperator.Equal, "C", null).Interior.Color = Color.Orange;
    conditions.Add(FormatConditionType.CellValue, FormatConditionOperator.Equal, "D", null).Interior.Color = Color.Red;
    

    似乎3是一个单元格的最大格式条件。是否存在此限制?

    您必须使用较旧版本的SpreadsheetGear,因为SpreadsheetGear 2012和早期版本仅支持Excel 2003中可用的条件格式功能,其中许多其他限制包括每个单元格限制3个CF规则


    将对条件格式的支持增强到与最新版本的Excel兼容的级别,包括在单元格中指定3个以上的规则,因此听起来您只需要将应用程序升级到最新版本。假设您最近/正在订阅,您可以从该页面下载SpreadsheetGear 2017。

    是的,我不久前使用Nuget进行了更新,并再次测试,效果良好。我们一定还在用一个很旧的版本。谢谢你的评论,我会把它标记为答案,因为它是答案!很高兴你成功了。只是澄清一下——NuGet上的产品是“SpreadsheetGear for.NET Standard”,它与“SpreadsheetGear for.NET”完全不同,后者可在我提供的链接页面上下载。前者的目标是.NET标准,而后者的目标是.NET框架。NuGet产品需要该特定产品或SpreadsheetGear捆绑包的许可证,尽管有一种“免费”模式可以直接在NuGet上运行,但有一定的限制。有关更多信息,请参阅。刚刚发现由于价格过高,我们无法更新到较新版本。我试着使用一个带有4种条件格式的模板并复制该工作表。由于复制工作表功能应用了相同的3 max规则,因此无法正常工作。