Как программно применять условное форматирование в диапазоне ячеек с числами с помощью Excel COM Interop?

В MS Excel вы можете выбрать диапазон ячеек и применить условное форматирование в этом диапазоне. Есть ли способ, который делает это на C #, используя Microsoft.Office.Interop.Excel ?

Учитывая диапазон ячеек, содержащих числа, мне нужно применить Red-Yellow-Green color scale . Если для этого нет метода, кто-нибудь знает формулу для применяемых цветов в соответствии с диапазоном чисел и числом в ячейке?

команда в excel

вывод

Согласно замечанию Дона , Microsoft предоставляет полный пример в C # и VB о том, как сделать условное форматирование в Excel с помощью Microsoft.Office.Interop.Excel : в заданном диапазоне используйте .FormatConditions.AddColorScale() для цвета или .FormatConditions.AddIconSetCondition() для условного форматирования значков

Согласно рекомендациям SO, в случае, если ссылка уходит, вот в чем суть применения форматирования цвета, взятого из этой ссылки:

 // Fill cells A1:A10 with sample data. targetSheet.get_Range("A1", paramMissing).set_Value(XlRangeValueDataType.xlRangeValueDefault, 1); targetSheet.get_Range("A2", paramMissing).set_Value(XlRangeValueDataType.xlRangeValueDefault, 2); targetSheet.get_Range("A1:A2", paramMissing).AutoFill(targetSheet.get_Range("A1:A10", paramMissing), XlAutoFillType.xlFillSeries); // Create a two-color ColorScale object for the created sample data // range. cfColorScale = (ColorScale)(targetSheet.get_Range("A1:A10", Type.Missing).FormatConditions.AddColorScale(2)); // Set the minimum threshold to red (0x000000FF) and maximum threshold // to blue (0x00FF0000). Values are in 00BBGGRR format. cfColorScale.ColorScaleCriteria[1].FormatColor.Color = 0x000000FF; cfColorScale.ColorScaleCriteria[2].FormatColor.Color = 0x00FF0000; 

Важно . Значения цвета, используемые через COM с Excel, требуют, чтобы цвет находился в формате 00BBGGRR (первый байт всегда равен нулю). По умолчанию .NET использует AARRGGBB в классах System.Drawing.Color , поэтому эти цвета нельзя использовать напрямую (как мнемоника , цвета COM в алфавитном порядке: синий, зеленый, красный).

Как и в случае любого взаимодействия Excel с .NET, вам необходимо ссылаться на библиотеку объектов Excel 12.0 и импортировать пространство имен Microsoft.Office.Interop.Excel .

  • Excel Interop падает каждый раз, когда он используется
  • Раскладка элементов Excel
  • C # listbox & excel как удалить информацию в excel?
  • найти все открытые книги Excel
  • C # VSTO Excel 2007 - отключить скрытую / скрытую кнопку
  • Управление добавлениями Excel (например, решателем) из COM в C #
  • Excel c # Issue - формула, не пересчитываемая
  • Изменение меток оси на диаграмме Excel, созданной в C #
  • Чтение Excel в ASP.NET: данные не читаются, если столбец имеет разные форматы данных
  • необработанное исключение Чтение данных из любого Excel
  • c # NetOffice Excel API по умолчанию видимость приложения
  • Interesting Posts

    Два компьютера пытаются получить доступ к файлу excel на третьем компьютере (сервере) для записи. Проблемы с методом

    Функция MIN по смешанным цифровым / буквенным значениям

    Скопируйте и вставьте в другой лист первую пустую строку, вставьте ее поверх предыдущей строки, если первая ячейка пуста

    Excel: Как создать пользовательские группы по возрасту в сводной таблице?

    Как читать данные из электронной таблицы с помощью OpenXML Format SDK?

    Как создать объект диапазона Excel, который ссылается на имя в Excel (c #)

    Вставка нескольких изображений в закладки MS Word через Excel

    Объедините несколько столбцов в одну ячейку в Excel

    Запись чисел в файл python

    Auto MsgBox при открытии файла Excel и выполнении условия

    как я могу рассчитать количество автобусов на основе изменения испытаний клиентов, которые были рассчитаны с использованием функции Norminv excel?

    Не удается записать данные в Excel-лист, используя для цикла (Apache_poi)

    Excel VBA MailEnvelope выборочно не работает

    Не удалось записать файл Excel с помощью Apache POI

    Функция Excel – поиск строки из списка.

    Давайте будем гением компьютера.