/******************************************************************************* * 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 Adaption 2012-04-03 *******************************************************************************/ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml; namespace OfficeOpenXml.ConditionalFormatting { /// /// Enum for Conditional Format Type ST_CfType §18.18.12. With some changes. /// public enum eExcelConditionalFormattingRuleType { #region Average /// /// This conditional formatting rule highlights cells that are above the average /// for all values in the range. /// /// AboveAverage Excel CF Rule Type AboveAverage, /// /// This conditional formatting rule highlights cells that are above or equal /// the average for all values in the range. /// /// AboveAverage Excel CF Rule Type AboveOrEqualAverage, /// /// This conditional formatting rule highlights cells that are below the average /// for all values in the range. /// /// AboveAverage Excel CF Rule Type BelowAverage, /// /// This conditional formatting rule highlights cells that are below or equal /// the average for all values in the range. /// /// AboveAverage Excel CF Rule Type BelowOrEqualAverage, #endregion #region StdDev /// /// This conditional formatting rule highlights cells that are above the standard /// deviationa for all values in the range. /// AboveAverage Excel CF Rule Type /// AboveStdDev, /// /// This conditional formatting rule highlights cells that are below the standard /// deviationa for all values in the range. /// /// AboveAverage Excel CF Rule Type BelowStdDev, #endregion #region TopBottom /// /// This conditional formatting rule highlights cells whose values fall in the /// bottom N bracket as specified. /// /// Top10 Excel CF Rule Type Bottom, /// /// This conditional formatting rule highlights cells whose values fall in the /// bottom N percent as specified. /// /// Top10 Excel CF Rule Type BottomPercent, /// /// This conditional formatting rule highlights cells whose values fall in the /// top N bracket as specified. /// /// Top10 Excel CF Rule Type Top, /// /// This conditional formatting rule highlights cells whose values fall in the /// top N percent as specified. /// /// Top10 Excel CF Rule Type TopPercent, #endregion #region TimePeriod /// /// This conditional formatting rule highlights cells containing dates in the /// last 7 days. /// /// TimePeriod Excel CF Rule Type Last7Days, /// /// This conditional formatting rule highlights cells containing dates in the /// last month. /// /// TimePeriod Excel CF Rule Type LastMonth, /// /// This conditional formatting rule highlights cells containing dates in the /// last week. /// /// TimePeriod Excel CF Rule Type LastWeek, /// /// This conditional formatting rule highlights cells containing dates in the /// next month. /// /// TimePeriod Excel CF Rule Type NextMonth, /// /// This conditional formatting rule highlights cells containing dates in the /// next week. /// /// TimePeriod Excel CF Rule Type NextWeek, /// /// This conditional formatting rule highlights cells containing dates in this /// month. /// /// TimePeriod Excel CF Rule Type ThisMonth, /// /// This conditional formatting rule highlights cells containing dates in this /// week. /// /// TimePeriod Excel CF Rule Type ThisWeek, /// /// This conditional formatting rule highlights cells containing today dates. /// /// TimePeriod Excel CF Rule Type Today, /// /// This conditional formatting rule highlights cells containing tomorrow dates. /// /// TimePeriod Excel CF Rule Type Tomorrow, /// /// This conditional formatting rule highlights cells containing yesterday dates. /// /// TimePeriod Excel CF Rule Type Yesterday, #endregion #region CellIs /// /// This conditional formatting rule highlights cells in the range that begin with /// the given text. /// /// /// Equivalent to using the LEFT() sheet function and comparing values. /// /// BeginsWith Excel CF Rule Type BeginsWith, /// /// This conditional formatting rule highlights cells in the range between the /// given two formulas. /// /// CellIs Excel CF Rule Type Between, /// /// This conditional formatting rule highlights cells that are completely blank. /// /// /// Equivalent of using LEN(TRIM()). This means that if the cell contains only /// characters that TRIM() would remove, then it is considered blank. An empty cell /// is also considered blank. /// /// ContainsBlanks Excel CF Rule Type ContainsBlanks, /// /// This conditional formatting rule highlights cells with formula errors. /// /// /// Equivalent to using ISERROR() sheet function to determine if there is /// a formula error. /// /// ContainsErrors Excel CF Rule Type ContainsErrors, /// /// This conditional formatting rule highlights cells in the range that begin with /// the given text. /// /// /// Equivalent to using the LEFT() sheet function and comparing values. /// /// ContainsText Excel CF Rule Type ContainsText, /// /// This conditional formatting rule highlights duplicated values. /// /// DuplicateValues Excel CF Rule Type DuplicateValues, /// /// This conditional formatting rule highlights cells ending with given text. /// /// /// Equivalent to using the RIGHT() sheet function and comparing values. /// /// EndsWith Excel CF Rule Type EndsWith, /// /// This conditional formatting rule highlights cells equals to with given formula. /// /// CellIs Excel CF Rule Type Equal, /// /// This conditional formatting rule contains a formula to evaluate. When the /// formula result is true, the cell is highlighted. /// /// Expression Excel CF Rule Type Expression, /// /// This conditional formatting rule highlights cells greater than the given formula. /// /// CellIs Excel CF Rule Type GreaterThan, /// /// This conditional formatting rule highlights cells greater than or equal the /// given formula. /// /// CellIs Excel CF Rule Type GreaterThanOrEqual, /// /// This conditional formatting rule highlights cells less than the given formula. /// /// CellIs Excel CF Rule Type LessThan, /// /// This conditional formatting rule highlights cells less than or equal the /// given formula. /// /// CellIs Excel CF Rule Type LessThanOrEqual, /// /// This conditional formatting rule highlights cells outside the range in /// given two formulas. /// /// CellIs Excel CF Rule Type NotBetween, /// /// This conditional formatting rule highlights cells that does not contains the /// given formula. /// /// CellIs Excel CF Rule Type NotContains, /// /// This conditional formatting rule highlights cells that are not blank. /// /// /// Equivalent of using LEN(TRIM()). This means that if the cell contains only /// characters that TRIM() would remove, then it is considered blank. An empty cell /// is also considered blank. /// /// NotContainsBlanks Excel CF Rule Type NotContainsBlanks, /// /// This conditional formatting rule highlights cells without formula errors. /// /// /// Equivalent to using ISERROR() sheet function to determine if there is a /// formula error. /// /// NotContainsErrors Excel CF Rule Type NotContainsErrors, /// /// This conditional formatting rule highlights cells that do not contain /// the given text. /// /// /// Equivalent to using the SEARCH() sheet function. /// /// NotContainsText Excel CF Rule Type NotContainsText, /// /// This conditional formatting rule highlights cells not equals to with /// given formula. /// /// CellIs Excel CF Rule Type NotEqual, /// /// This conditional formatting rule highlights unique values in the range. /// /// UniqueValues Excel CF Rule Type UniqueValues, #endregion #region ColorScale /// /// Three Color Scale (Low, Middle and High Color Scale) /// /// ColorScale Excel CF Rule Type ThreeColorScale, /// /// Two Color Scale (Low and High Color Scale) /// /// ColorScale Excel CF Rule Type TwoColorScale, #endregion #region IconSet /// /// This conditional formatting rule applies a 3 set icons to cells according /// to their values. /// /// IconSet Excel CF Rule Type ThreeIconSet, /// /// This conditional formatting rule applies a 4 set icons to cells according /// to their values. /// /// IconSet Excel CF Rule Type FourIconSet, /// /// This conditional formatting rule applies a 5 set icons to cells according /// to their values. /// /// IconSet Excel CF Rule Type FiveIconSet, #endregion #region DataBar /// /// This conditional formatting rule displays a gradated data bar in the range of cells. /// /// DataBar Excel CF Rule Type DataBar #endregion } /// /// Enum for Conditional Format Value Object Type ST_CfvoType §18.18.13 /// public enum eExcelConditionalFormattingValueObjectType { /// /// Formula /// Formula, /// /// Maximum Value /// Max, /// /// Minimum Value /// Min, /// /// Number Value /// Num, /// /// Percent /// Percent, /// /// Percentile /// Percentile } /// /// Enum for Conditional Formatting Value Object Position /// public enum eExcelConditionalFormattingValueObjectPosition { /// /// The lower position for both TwoColorScale and ThreeColorScale /// Low, /// /// The middle position only for ThreeColorScale /// Middle, /// /// The highest position for both TwoColorScale and ThreeColorScale /// High } /// /// Enum for Conditional Formatting Value Object Node Type /// public enum eExcelConditionalFormattingValueObjectNodeType { /// /// 'cfvo' node /// Cfvo, /// /// 'color' node /// Color } /// /// Enum for Conditional Formatting Operartor Type ST_ConditionalFormattingOperator §18.18.15 /// public enum eExcelConditionalFormattingOperatorType { /// /// Begins With. 'Begins with' operator /// BeginsWith, /// /// Between. 'Between' operator /// Between, /// /// Contains. 'Contains' operator /// ContainsText, /// /// Ends With. 'Ends with' operator /// EndsWith, /// /// Equal. 'Equal to' operator /// Equal, /// /// Greater Than. 'Greater than' operator /// GreaterThan, /// /// Greater Than Or Equal. 'Greater than or equal to' operator /// GreaterThanOrEqual, /// /// Less Than. 'Less than' operator /// LessThan, /// /// Less Than Or Equal. 'Less than or equal to' operator /// LessThanOrEqual, /// /// Not Between. 'Not between' operator /// NotBetween, /// /// Does Not Contain. 'Does not contain' operator /// NotContains, /// /// Not Equal. 'Not equal to' operator /// NotEqual } /// /// Enum for Conditional Formatting Time Period Type ST_TimePeriod §18.18.82 /// public enum eExcelConditionalFormattingTimePeriodType { /// /// Last 7 Days. A date in the last seven days. /// Last7Days, /// /// Last Month. A date occuring in the last calendar month. /// LastMonth, /// /// Last Week. A date occuring last week. /// LastWeek, /// /// Next Month. A date occuring in the next calendar month. /// NextMonth, /// /// Next Week. A date occuring next week. /// NextWeek, /// /// This Month. A date occuring in this calendar month. /// ThisMonth, /// /// This Week. A date occuring this week. /// ThisWeek, /// /// Today. Today's date. /// Today, /// /// Tomorrow. Tomorrow's date. /// Tomorrow, /// /// Yesterday. Yesterday's date. /// Yesterday } /// /// 18.18.42 ST_IconSetType (Icon Set Type) - Only 3 icons /// public enum eExcelconditionalFormatting3IconsSetType { /// /// (3 Arrows) 3 arrows icon set. /// Arrows, /// /// (3 Arrows (Gray)) 3 gray arrows icon set. /// ArrowsGray, /// /// (3 Flags) 3 flags icon set. /// Flags, /// /// (3 Signs) 3 signs icon set. /// Signs, /// /// (3 Symbols Circled) 3 symbols icon set. /// Symbols, /// /// (3 Symbols) 3 Symbols icon set. /// Symbols2, /// /// (3 Traffic Lights) 3 traffic lights icon set (#1). /// TrafficLights1, /// /// (3 Traffic Lights Black) 3 traffic lights icon set with thick black border. /// TrafficLights2 } /// /// 18.18.42 ST_IconSetType (Icon Set Type) - Only 4 icons /// public enum eExcelconditionalFormatting4IconsSetType { /// /// (4 Arrows) 4 arrows icon set. /// Arrows, /// /// (4 Arrows (Gray)) 4 gray arrows icon set. /// ArrowsGray, /// /// (4 Ratings) 4 ratings icon set. /// Rating, /// /// (4 Red To Black) 4 'red to black' icon set. /// RedToBlack, /// /// (4 Traffic Lights) 4 traffic lights icon set. /// TrafficLights } /// /// 18.18.42 ST_IconSetType (Icon Set Type) - Only 5 icons /// public enum eExcelconditionalFormatting5IconsSetType { /// /// (5 Arrows) 5 arrows icon set. /// Arrows, /// /// (5 Arrows (Gray)) 5 gray arrows icon set. /// ArrowsGray, /// /// (5 Quarters) 5 quarters icon set. /// Quarters, /// /// (5 Ratings Icon Set) 5 rating icon set. /// Rating } /// /// 18.18.42 ST_IconSetType (Icon Set Type) /// public enum eExcelconditionalFormattingIconsSetType { /// /// (3 Arrows) 3 arrows icon set. /// ThreeArrows, /// /// (3 Arrows (Gray)) 3 gray arrows icon set. /// ThreeArrowsGray, /// /// (3 Flags) 3 flags icon set. /// ThreeFlags, /// /// (3 Signs) 3 signs icon set. /// ThreeSigns, /// /// (3 Symbols Circled) 3 symbols icon set. /// ThreeSymbols, /// /// (3 Symbols) 3 Symbols icon set. /// ThreeSymbols2, /// /// (3 Traffic Lights) 3 traffic lights icon set (#1). /// ThreeTrafficLights1, /// /// (3 Traffic Lights Black) 3 traffic lights icon set with thick black border. /// ThreeTrafficLights2, /// /// (4 Arrows) 4 arrows icon set. /// FourArrows, /// /// (4 Arrows (Gray)) 4 gray arrows icon set. /// FourArrowsGray, /// /// (4 Ratings) 4 ratings icon set. /// FourRating, /// /// (4 Red To Black) 4 'red to black' icon set. /// FourRedToBlack, /// /// (4 Traffic Lights) 4 traffic lights icon set. /// FourTrafficLights, /// /// (5 Arrows) 5 arrows icon set. /// FiveArrows, /// /// (5 Arrows (Gray)) 5 gray arrows icon set. /// FiveArrowsGray, /// /// (5 Quarters) 5 quarters icon set. /// FiveQuarters, /// /// (5 Ratings Icon Set) 5 rating icon set. /// FiveRating } }