/*******************************************************************************
|
* 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 HH.WMS.Utils.EPPlus.Utils;
|
using HH.WMS.Utils.EPPlus.ConditionalFormatting.Contracts;
|
|
namespace HH.WMS.Utils.EPPlus.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
|
}
|
}
|