【问题标题】:SpreadsheetGear Format Conditions to a CellSpreadsheetGear 将条件格式化为单元格
【发布时间】:2019-06-02 07:18:53
【问题描述】:

在我的 MVC 项目中,我使用 SpreadsheetGear 来生成一个 Excel 文档。我有一列有一个针对它的验证规则,它只允许用户从以下选项中进行选择:A、B、C、D。我需要能够为每个选项设置不同的背景颜色。例如:

  1. A - 绿色
  2. B - 黄色
  3. C - 橙色
  4. 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 是您可以为单元格设置的最大格式条件数。反正有这个限制吗?

【问题讨论】:

    标签: c# excel formatting spreadsheetgear


    【解决方案1】:

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

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

    【讨论】:

    • 是的,我不久前使用 Nuget 进行了更新,并再次对其进行了测试,效果很好。我们一定还是在一个相当旧的版本上。感谢您的评论,我将其标记为答案,因为它是答案!
    • 很高兴你能成功。澄清一下——NuGet 上的产品是“SpreadsheetGear for .NET Standard”,它与“SpreadsheetGear for .NET”完全不同,可在我提供链接的页面上下载。前者针对 .NET Standard,而后者针对 .NET Framework。 NuGet 产品需要该特定产品或 SpreadsheetGear Bundle 的许可证,尽管有一个“免费”模式可以直接从 NuGet 工作,但有限制。请参阅spreadsheetgear.com/nuget/spreadsheetgear/project 了解更多信息。
    • 刚刚发现由于价格高昂,我们无法更新到较新的版本。我尝试使用具有 4 种条件格式的模板并复制该工作表。不幸的是,由于复制工作表功能应用了相同的 3 max 规则,因此无法正常工作。
    猜你喜欢
    • 1970-01-01
    • 2013-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    • 2018-03-13
    • 1970-01-01
    相关资源
    最近更新 更多