Spreadsheetgear - добавить цвет фона с помощью условного форматирования - PullRequest
0 голосов
/ 26 февраля 2020

Я пытаюсь использовать условное форматирование, чтобы добавить цвет фона лосося, когда значение ячейки превышает определенный порог. Вот мой код:

Dim condition As IFormatCondition = thisRow(0, 6).FormatConditions.Add(FormatConditionType.CellValue, FormatConditionOperator.GreaterEqual, 0.035, Nothing)
condition.Interior.Color = Drawing.Color.FromArgb(230, 184, 183)

Условие создано правильно, но по какой-то причине вместо установки цвета фона для лосося используется rgb (192, 192, 192).

Что я делаю не так?

1 Ответ

2 голосов
/ 26 февраля 2020

На ум приходят две возможности:

  1. Вы используете SpreadsheetGear 2012 (V7) или более раннюю версию. Эти старые версии SpreadsheetGear имели ограниченную поддержку условного форматирования (CF), одной из которых была ограниченная поддержка 24-битных цветов. Когда вы указываете произвольный 24-битный цвет для CF, который не находится в 56-цветовой палитре рабочей книги (IWorkbook. Colors ), SpreadsheetGear сопоставит предоставленный цвет с наиболее близким соответствием в палитре.

    В SpreadsheetGear 2017 / V8 значительно улучшена поддержка условного форматирования, включая возможность использовать произвольные 24-битные цвета RGB, поэтому обновление может решить эту проблему.

  2. Вы сохранение в старом формате Excel 97-2003 (* .xls). Даже если вы используете SpreadsheetGear 2017+, если вы сохраните этот более старый формат файла, CF потеряет 24-битный цвет и, опять же, отобразится на ближайший цвет, найденный в 56-цветовой палитре книги. В этом случае лучше всего сохранить файл в формате Open XML (* .xlsx или * .xlsm), который имеет полную поддержку 24-битного цвета.

...