| /******************************************************************************* |
| * 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; |
| using OfficeOpenXml.Utils; |
| |
| namespace OfficeOpenXml.ConditionalFormatting; |
| |
| internal class RangeConditionalFormatting : IRangeConditionalFormatting { |
| public ExcelWorksheet _worksheet; |
| public ExcelAddress _address; |
| |
| public RangeConditionalFormatting(ExcelWorksheet worksheet, ExcelAddress address) { |
| Require.Argument(worksheet).IsNotNull("worksheet"); |
| Require.Argument(address).IsNotNull("address"); |
| |
| _worksheet = worksheet; |
| _address = address; |
| } |
| |
| /// <summary> |
| /// Add AboveOrEqualAverage Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingAverageGroup AddAboveAverage() { |
| return _worksheet.ConditionalFormatting.AddAboveAverage(_address); |
| } |
| |
| /// <summary> |
| /// Add AboveOrEqualAverage Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingAverageGroup AddAboveOrEqualAverage() { |
| return _worksheet.ConditionalFormatting.AddAboveOrEqualAverage(_address); |
| } |
| |
| /// <summary> |
| /// Add BelowOrEqualAverage Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingAverageGroup AddBelowAverage() { |
| return _worksheet.ConditionalFormatting.AddBelowAverage(_address); |
| } |
| |
| /// <summary> |
| /// Add BelowOrEqualAverage Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingAverageGroup AddBelowOrEqualAverage() { |
| return _worksheet.ConditionalFormatting.AddBelowOrEqualAverage(_address); |
| } |
| |
| /// <summary> |
| /// Add AboveStdDev Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingStdDevGroup AddAboveStdDev() { |
| return _worksheet.ConditionalFormatting.AddAboveStdDev(_address); |
| } |
| |
| /// <summary> |
| /// Add BelowStdDev Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingStdDevGroup AddBelowStdDev() { |
| return _worksheet.ConditionalFormatting.AddBelowStdDev(_address); |
| } |
| |
| /// <summary> |
| /// Add Bottom Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingTopBottomGroup AddBottom() { |
| return _worksheet.ConditionalFormatting.AddBottom(_address); |
| } |
| |
| /// <summary> |
| /// Add BottomPercent Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingTopBottomGroup AddBottomPercent() { |
| return _worksheet.ConditionalFormatting.AddBottomPercent(_address); |
| } |
| |
| /// <summary> |
| /// Add Top Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingTopBottomGroup AddTop() { |
| return _worksheet.ConditionalFormatting.AddTop(_address); |
| } |
| |
| /// <summary> |
| /// Add TopPercent Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingTopBottomGroup AddTopPercent() { |
| return _worksheet.ConditionalFormatting.AddTopPercent(_address); |
| } |
| |
| /// <summary> |
| /// Add Last7Days Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingTimePeriodGroup AddLast7Days() { |
| return _worksheet.ConditionalFormatting.AddLast7Days(_address); |
| } |
| |
| /// <summary> |
| /// Add LastMonth Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingTimePeriodGroup AddLastMonth() { |
| return _worksheet.ConditionalFormatting.AddLastMonth(_address); |
| } |
| |
| /// <summary> |
| /// Add LastWeek Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingTimePeriodGroup AddLastWeek() { |
| return _worksheet.ConditionalFormatting.AddLastWeek(_address); |
| } |
| |
| /// <summary> |
| /// Add NextMonth Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingTimePeriodGroup AddNextMonth() { |
| return _worksheet.ConditionalFormatting.AddNextMonth(_address); |
| } |
| |
| /// <summary> |
| /// Add NextWeek Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingTimePeriodGroup AddNextWeek() { |
| return _worksheet.ConditionalFormatting.AddNextWeek(_address); |
| } |
| |
| /// <summary> |
| /// Add ThisMonth Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingTimePeriodGroup AddThisMonth() { |
| return _worksheet.ConditionalFormatting.AddThisMonth(_address); |
| } |
| |
| /// <summary> |
| /// Add ThisWeek Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingTimePeriodGroup AddThisWeek() { |
| return _worksheet.ConditionalFormatting.AddThisWeek(_address); |
| } |
| |
| /// <summary> |
| /// Add Today Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingTimePeriodGroup AddToday() { |
| return _worksheet.ConditionalFormatting.AddToday(_address); |
| } |
| |
| /// <summary> |
| /// Add Tomorrow Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingTimePeriodGroup AddTomorrow() { |
| return _worksheet.ConditionalFormatting.AddTomorrow(_address); |
| } |
| |
| /// <summary> |
| /// Add Yesterday Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingTimePeriodGroup AddYesterday() { |
| return _worksheet.ConditionalFormatting.AddYesterday(_address); |
| } |
| |
| /// <summary> |
| /// Add BeginsWith Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingBeginsWith AddBeginsWith() { |
| return _worksheet.ConditionalFormatting.AddBeginsWith(_address); |
| } |
| |
| /// <summary> |
| /// Add Between Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingBetween AddBetween() { |
| return _worksheet.ConditionalFormatting.AddBetween(_address); |
| } |
| |
| /// <summary> |
| /// Add ContainsBlanks Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingContainsBlanks AddContainsBlanks() { |
| return _worksheet.ConditionalFormatting.AddContainsBlanks(_address); |
| } |
| |
| /// <summary> |
| /// Add ContainsErrors Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingContainsErrors AddContainsErrors() { |
| return _worksheet.ConditionalFormatting.AddContainsErrors(_address); |
| } |
| |
| /// <summary> |
| /// Add ContainsText Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingContainsText AddContainsText() { |
| return _worksheet.ConditionalFormatting.AddContainsText(_address); |
| } |
| |
| /// <summary> |
| /// Add DuplicateValues Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingDuplicateValues AddDuplicateValues() { |
| return _worksheet.ConditionalFormatting.AddDuplicateValues(_address); |
| } |
| |
| /// <summary> |
| /// Add EndsWith Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingEndsWith AddEndsWith() { |
| return _worksheet.ConditionalFormatting.AddEndsWith(_address); |
| } |
| |
| /// <summary> |
| /// Add Equal Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingEqual AddEqual() { |
| return _worksheet.ConditionalFormatting.AddEqual(_address); |
| } |
| |
| /// <summary> |
| /// Add Expression Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingExpression AddExpression() { |
| return _worksheet.ConditionalFormatting.AddExpression(_address); |
| } |
| |
| /// <summary> |
| /// Add GreaterThan Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingGreaterThan AddGreaterThan() { |
| return _worksheet.ConditionalFormatting.AddGreaterThan(_address); |
| } |
| |
| /// <summary> |
| /// Add GreaterThanOrEqual Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingGreaterThanOrEqual AddGreaterThanOrEqual() { |
| return _worksheet.ConditionalFormatting.AddGreaterThanOrEqual(_address); |
| } |
| |
| /// <summary> |
| /// Add LessThan Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingLessThan AddLessThan() { |
| return _worksheet.ConditionalFormatting.AddLessThan(_address); |
| } |
| |
| /// <summary> |
| /// Add LessThanOrEqual Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingLessThanOrEqual AddLessThanOrEqual() { |
| return _worksheet.ConditionalFormatting.AddLessThanOrEqual(_address); |
| } |
| |
| /// <summary> |
| /// Add NotBetween Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingNotBetween AddNotBetween() { |
| return _worksheet.ConditionalFormatting.AddNotBetween(_address); |
| } |
| |
| /// <summary> |
| /// Add NotContainsBlanks Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingNotContainsBlanks AddNotContainsBlanks() { |
| return _worksheet.ConditionalFormatting.AddNotContainsBlanks(_address); |
| } |
| |
| /// <summary> |
| /// Add NotContainsErrors Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingNotContainsErrors AddNotContainsErrors() { |
| return _worksheet.ConditionalFormatting.AddNotContainsErrors(_address); |
| } |
| |
| /// <summary> |
| /// Add NotContainsText Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingNotContainsText AddNotContainsText() { |
| return _worksheet.ConditionalFormatting.AddNotContainsText(_address); |
| } |
| |
| /// <summary> |
| /// Add NotEqual Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingNotEqual AddNotEqual() { |
| return _worksheet.ConditionalFormatting.AddNotEqual(_address); |
| } |
| |
| /// <summary> |
| /// Add UniqueValues Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingUniqueValues AddUniqueValues() { |
| return _worksheet.ConditionalFormatting.AddUniqueValues(_address); |
| } |
| |
| /// <summary> |
| /// Add ThreeColorScale Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingThreeColorScale AddThreeColorScale() { |
| return (IExcelConditionalFormattingThreeColorScale)(_worksheet.ConditionalFormatting.AddRule( |
| eExcelConditionalFormattingRuleType.ThreeColorScale, |
| _address)); |
| } |
| |
| /// <summary> |
| /// Add TwoColorScale Conditional Formatting |
| /// </summary> |
| /// <returns></returns> |
| public IExcelConditionalFormattingTwoColorScale AddTwoColorScale() { |
| return (IExcelConditionalFormattingTwoColorScale)(_worksheet.ConditionalFormatting.AddRule( |
| eExcelConditionalFormattingRuleType.TwoColorScale, |
| _address)); |
| } |
| } |