Определить результат формулы условного форматирования программно для данного листа в C #, Vsto

#c# #excel #vsto

#c# #excel #vsto

Вопрос:

Есть ли способ запустить формулы условного форматирования через OpenXML или Interop.Метод Excel или анализатор, чтобы проверить, выполняются ли условия для данного листа. Пример. Если формула условного форматирования равна «= $ B $ 3>25%» для данного листа, есть ли способ проверить, приводит ли это условие к true или false.

Комментарии:

1. =ЕСЛИ($B$ 3> 25, TRUE, FALSE) будет началом.

2. Я ищу метод C #, в котором я могу передать правило в качестве аргумента и получить результат true или false.

3. Ну, вы отметили Excel и формулу Excel, так что я обязан.

Ответ №1:

Я думаю, что для этой цели вы можете использовать приложение.Вычислите функцию и передайте ей формулу условия форматирования тестируемой ячейки. Это то, что вы ищете?


Простой пример:

 using MSExcel = Microsoft.Office.Interop.Excel;

public static bool EvaluateConditionalFormattingFormula(MSExcel.Range cell)
{
    MSExcel.FormatConditions formatConditions = cell.FormatConditions;

    if (formatConditions == null || formatConditions.Count == 0)
        return false;

    MSExcel.FormatCondition formatCondition = formatConditions[1];
    bool result = cell.Application.Evaluate(formatCondition.Formula1);

    return resu<
}
  

Комментарии:

1. @Dusek, большое спасибо. Я могу работать над этим. Приложение. Оценка была именно тем, что я искал. Высоко ценится.