blob: bd84006409d40e7e871a9fb9ce309f401a67f3f3 [file] [log] [blame]
/*******************************************************************************
* You may amend and distribute as you like, but don't remove this header!
*
* EPPlus provides server-side generation of Excel 2007/2010 spreadsheets.
* See http://www.codeplex.com/EPPlus for details.
*
* Copyright (C) 2011 Jan Källman
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
*
* The GNU Lesser General Public License can be viewed at http://www.opensource.org/licenses/lgpl-license.php
* If you unfamiliar with this license or have questions about it, here is an http://www.gnu.org/licenses/gpl-faq.html
*
* All code and executables are provided "as is" with no warranty either express or implied.
* The author accepts no liability for any damage or loss of business that this product may cause.
*
* Code change notes:
*
* Author Change Date
* ******************************************************************************
* Eyal Seagull Conditional Formatting 2012-04-03
*******************************************************************************/
using OfficeOpenXml.ConditionalFormatting.Contracts;
namespace OfficeOpenXml.ConditionalFormatting;
/// <summary>
/// Provides functionality for adding Conditional Formatting to a range (<see cref="ExcelRangeBase"/>).
/// Each method will return a configurable condtional formatting type.
/// </summary>
public interface IRangeConditionalFormatting {
/// <summary>
/// Adds a Above Average rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingAverageGroup AddAboveAverage();
/// <summary>
/// Adds a Above Or Equal Average rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingAverageGroup AddAboveOrEqualAverage();
/// <summary>
/// Adds a Below Average rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingAverageGroup AddBelowAverage();
/// <summary>
/// Adds a Below Or Equal Average rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingAverageGroup AddBelowOrEqualAverage();
/// <summary>
/// Adds a Above StdDev rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingStdDevGroup AddAboveStdDev();
/// <summary>
/// Adds a Below StdDev rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingStdDevGroup AddBelowStdDev();
/// <summary>
/// Adds a Bottom rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingTopBottomGroup AddBottom();
/// <summary>
/// Adds a Bottom Percent rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingTopBottomGroup AddBottomPercent();
/// <summary>
/// Adds a Top rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingTopBottomGroup AddTop();
/// <summary>
/// Adds a Top Percent rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingTopBottomGroup AddTopPercent();
/// <summary>
/// Adds a Last 7 Days rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingTimePeriodGroup AddLast7Days();
/// <summary>
/// Adds a Last Month rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingTimePeriodGroup AddLastMonth();
/// <summary>
/// Adds a Last Week rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingTimePeriodGroup AddLastWeek();
/// <summary>
/// Adds a Next Month rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingTimePeriodGroup AddNextMonth();
/// <summary>
/// Adds a Next Week rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingTimePeriodGroup AddNextWeek();
/// <summary>
/// Adds a This Month rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingTimePeriodGroup AddThisMonth();
/// <summary>
/// Adds a This Week rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingTimePeriodGroup AddThisWeek();
/// <summary>
/// Adds a Today rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingTimePeriodGroup AddToday();
/// <summary>
/// Adds a Tomorrow rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingTimePeriodGroup AddTomorrow();
/// <summary>
/// Adds a Yesterday rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingTimePeriodGroup AddYesterday();
/// <summary>
/// Adds a Begins With rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingBeginsWith AddBeginsWith();
/// <summary>
/// Adds a Between rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingBetween AddBetween();
/// <summary>
/// Adds a ContainsBlanks rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingContainsBlanks AddContainsBlanks();
/// <summary>
/// Adds a ContainsErrors rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingContainsErrors AddContainsErrors();
/// <summary>
/// Adds a ContainsText rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingContainsText AddContainsText();
/// <summary>
/// Adds a DuplicateValues rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingDuplicateValues AddDuplicateValues();
/// <summary>
/// Adds a EndsWith rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingEndsWith AddEndsWith();
/// <summary>
/// Adds a Equal rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingEqual AddEqual();
/// <summary>
/// Adds a Expression rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingExpression AddExpression();
/// <summary>
/// Adds a GreaterThan rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingGreaterThan AddGreaterThan();
/// <summary>
/// Adds a GreaterThanOrEqual rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingGreaterThanOrEqual AddGreaterThanOrEqual();
/// <summary>
/// Adds a LessThan rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingLessThan AddLessThan();
/// <summary>
/// Adds a LessThanOrEqual rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingLessThanOrEqual AddLessThanOrEqual();
/// <summary>
/// Adds a NotBetween rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingNotBetween AddNotBetween();
/// <summary>
/// Adds a NotContainsBlanks rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingNotContainsBlanks AddNotContainsBlanks();
/// <summary>
/// Adds a NotContainsErrors rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingNotContainsErrors AddNotContainsErrors();
/// <summary>
/// Adds a NotContainsText rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingNotContainsText AddNotContainsText();
/// <summary>
/// Adds a NotEqual rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingNotEqual AddNotEqual();
/// <summary>
/// Adds a UniqueValues rule to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingUniqueValues AddUniqueValues();
/// <summary>
/// Adds a <see cref="ExcelConditionalFormattingThreeColorScale"/> to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingThreeColorScale AddThreeColorScale();
/// <summary>
/// Adds a <see cref="ExcelConditionalFormattingTwoColorScale"/> to the range
/// </summary>
/// <returns></returns>
IExcelConditionalFormattingTwoColorScale AddTwoColorScale();
}