blob: 841461dfeed2ead640f4e1b91fe9fdc541054bab [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 System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OfficeOpenXml.Utils;
using OfficeOpenXml.ConditionalFormatting.Contracts;
namespace OfficeOpenXml.ConditionalFormatting
{
internal class RangeConditionalFormatting
: IRangeConditionalFormatting
{
#region Public Properties
public ExcelWorksheet _worksheet;
public ExcelAddress _address;
#endregion Public Properties
#region Constructors
public RangeConditionalFormatting(
ExcelWorksheet worksheet,
ExcelAddress address)
{
Require.Argument(worksheet).IsNotNull("worksheet");
Require.Argument(address).IsNotNull("address");
_worksheet = worksheet;
_address = address;
}
#endregion Constructors
#region Conditional Formatting Rule Types
/// <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));
}
/// <summary>
/// Adds a ThreeIconSet rule
/// </summary>
/// <param name="IconSet"></param>
/// <returns></returns>
public IExcelConditionalFormattingThreeIconSet<eExcelconditionalFormatting3IconsSetType> AddThreeIconSet(eExcelconditionalFormatting3IconsSetType IconSet)
{
var rule = (IExcelConditionalFormattingThreeIconSet<eExcelconditionalFormatting3IconsSetType>)(_worksheet.ConditionalFormatting.AddRule(
eExcelConditionalFormattingRuleType.ThreeIconSet,
_address));
rule.IconSet = IconSet;
return rule;
}
/// <summary>
/// Adds a FourIconSet rule
/// </summary>
/// <param name="IconSet"></param>
/// <returns></returns>
public IExcelConditionalFormattingFourIconSet<eExcelconditionalFormatting4IconsSetType> AddFourIconSet(eExcelconditionalFormatting4IconsSetType IconSet)
{
var rule = (IExcelConditionalFormattingFourIconSet<eExcelconditionalFormatting4IconsSetType>)(_worksheet.ConditionalFormatting.AddRule(
eExcelConditionalFormattingRuleType.FourIconSet,
_address));
rule.IconSet = IconSet;
return rule;
}
/// <summary>
/// Adds a FiveIconSet rule
/// </summary>
/// <param name="IconSet"></param>
/// <returns></returns>
public IExcelConditionalFormattingFiveIconSet AddFiveIconSet(eExcelconditionalFormatting5IconsSetType IconSet)
{
var rule = (IExcelConditionalFormattingFiveIconSet)(_worksheet.ConditionalFormatting.AddRule(
eExcelConditionalFormattingRuleType.FiveIconSet,
_address));
rule.IconSet = IconSet;
return rule;
}
/// <summary>
/// Adds a Databar rule
/// </summary>
/// <param name="Color">The color of the databar</param>
/// <returns></returns>
public IExcelConditionalFormattingDataBarGroup AddDatabar(System.Drawing.Color Color)
{
var rule = (IExcelConditionalFormattingDataBarGroup)(_worksheet.ConditionalFormatting.AddRule(
eExcelConditionalFormattingRuleType.DataBar,
_address));
rule.Color = Color;
return rule;
}
#endregion Conditional Formatting Rule Types
}
}