Search Results for

    Show / Hide Table of Contents

    Class RangeAddress

    Class that represents address of the range.

    Inheritance
    System.Object
    RangeAddress
    Namespace: IronXL
    Assembly: IronXL.dll
    Syntax
    public class RangeAddress : Object

    The location and size of a cell block in C#, the bounds behind a selection like A1:C10, are what RangeAddress describes. It captures the first and last rows and columns of a range as a structured value, so code can ask where a range sits, how big it is, and whether two ranges overlap without re-parsing address strings. A developer reaches for it when a range's position matters as data, not just its cells.

    Every Range exposes its bounds through the RangeAddress property, which is the usual way to obtain one. From there FirstRow, FirstColumn, LastRow, and LastColumn give the four corners as numbers, and RowsCount and ColumnsCount report the dimensions. Location returns the address in a string form, and ToString does the same for display or logging.

    The comparison members answer the geometry questions that come up when ranges interact. Includes tests whether a given row and column fall inside the address, IsEqual checks whether two addresses cover the same cells, and GetIntersection returns the overlapping region of two ranges as a new RangeAddress. Extend grows an address to also cover another one, which is useful when merging adjacent selections. Reading these bounds does not change the underlying cells, since a RangeAddress describes a region rather than holding the data inside it, so it pairs with the Range it came from rather than replacing it.

    using IronXL;
    
    WorkBook workBook = WorkBook.Load("sample.xlsx");
    WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
    RangeAddress address = workSheet["A1:C10"].RangeAddress;
    Console.WriteLine(address.RowsCount);
    Console.WriteLine(address.ColumnsCount);

    The select range how-to covers building ranges, the combine ranges example joins selections, and the trim cell range how-to narrows one.

    Properties

    ColumnsCount

    Amount of columns within this address.

    Declaration
    public int ColumnsCount { get; }
    Property Value
    Type Description
    System.Int32

    FirstColumn

    Index of the first column within this address.

    Declaration
    public int FirstColumn { get; }
    Property Value
    Type Description
    System.Int32

    FirstRow

    Index of the first row within this address.

    Declaration
    public int FirstRow { get; }
    Property Value
    Type Description
    System.Int32

    LastColumn

    Index of the last column within this address.

    Declaration
    public int LastColumn { get; }
    Property Value
    Type Description
    System.Int32

    LastRow

    Index of the last row within this address.

    Declaration
    public int LastRow { get; }
    Property Value
    Type Description
    System.Int32

    Location

    Gets the Range / Cells location in Excel Address selector notation. E.G. "A1:B16"

    Declaration
    public string Location { get; }
    Property Value
    Type Description
    System.String

    The Range's location expressed as an Excel Address selector string.

    RowsCount

    Amount of rows within this address.

    Declaration
    public int RowsCount { get; }
    Property Value
    Type Description
    System.Int32

    Methods

    Equals(Object)

    Compares two ranges.

    Declaration
    public override bool Equals(object obj)
    Parameters
    Type Name Description
    System.Object obj

    The range to compare with the current range.

    Returns
    Type Description
    System.Boolean

    Extend(RangeAddress)

    Combines two range addresses. The result is range address where the last column and the last row have maximum values among two combined addresses.

    Declaration
    public RangeAddress Extend(RangeAddress rangeAddress)
    Parameters
    Type Name Description
    RangeAddress rangeAddress

    The range address.

    Returns
    Type Description
    RangeAddress

    The result range address.

    GetHashCode()

    Gets the hash code of this instance.

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    System.Int32

    GetIntersection(RangeAddress)

    Gets the intersection of two ranges. Returns null if the ranges do not intersect.

    Declaration
    public RangeAddress GetIntersection(RangeAddress range)
    Parameters
    Type Name Description
    RangeAddress range
    Returns
    Type Description
    RangeAddress

    Includes(Int32, Int32)

    Check whether this range address contains target cell.

    Declaration
    public bool Includes(int row, int col)
    Parameters
    Type Name Description
    System.Int32 row

    The row of the cell. Zero based.

    System.Int32 col

    The column of the cell. Zero based. E.g. column A is 0

    Returns
    Type Description
    System.Boolean

    true if the specified cell falls within this RangeAddress

    IsEqual(RangeAddress)

    Checks whether two ranges are equal.

    Declaration
    public bool IsEqual(RangeAddress range)
    Parameters
    Type Name Description
    RangeAddress range
    Returns
    Type Description
    System.Boolean

    ToString()

    Converts to string of the location of the range in Excel Address selector notation. E.G. "A4:D87"

    Declaration
    public override string ToString()
    Returns
    Type Description
    System.String

    A System.String that represents this instance.

    ☀
    ☾
    Downloads
    • Download with Nuget
    • Start for Free
    In This Article
    Back to top
    Install with Nuget
    %s requires a valid license key for further deployment. Get Trial Below.
    ironsuite
    Blue key in circleGet Started for Free
    30 days full access • No credit card required
    Test in a live environment

    Test in production without watermarks.
    Works wherever you need it to.

    Fully-functional product

    Get 30 days of fully functional product.
    Have it up and running in minutes.

    24/5 technical support

    Full access to our support engineering team during your product trial

    Grey key in circleGet Started for Free
    The trial form was submitted successfully.
    Grey check in circleTrial key delivered
    Your key has been issued and sent to your email.
    Calendar in circleBook Free Live Demo
    No cards • no pitches • no commitments Pick a time for a quick, personalized demo
    Get the most out of your 30-day trial with:

    Live product and key features walk-through

    Project-specific recommendations

    All your questions answered

    Grey key in circleBook Free Live Demo
    Your booking has been completed Check your e-mail for confirmation

    Want to deploy Iron Suite
    to a live project for FREE?

    What’s included?

    • Test in production without watermarks
    • 30 days fully functional product
    • 24/5 technical support during trial
    ironpdf Logo
    ironword Logo
    ironxl Logo
    ironppt Logo
    ironocr Logo
    ironbarcode Logo
    ironqr Logo
    ironprint Logo
    ironzip Logo
    ironwebscraper Logo
    Iron Software sales team
    Online 24/5
    Have Enterprise licensing requirements?
    Request Iron Suite Enterprise trial
    Key in blue circle

    Get your free 30-day Trial Key instantly

    Your trial license will be sent to your email address

    No limitations. 100% unlocked. No credit card.

    bullet_checkedNo credit card or account creation requiredNo limitations. 100% unlocked. No credit card.
    Or
    Key in blue circle

    Complete Your Trial Key Signup

    Tell us a little more about yourself.

    Key in blue circleNo credit card or account creation requiredNo limitations. 100% unlocked. No credit card.
    Key in blue circle

    Your license key has been delivered to your inbox

    Can't find it? Check your spam folder.

    What’s next?
    Install with NuGet
    Add IronXL to your project
    Quickstart Guide
    Helpful resources to get started

    Need help getting started?

    Book a Free Live Demo

    See IronXL in action and get your licensing questions answered, or

    Key in blue circle

    Your demo request is in.

    You'll receive an invite via email shortly.

    What’s next?
    Explore Documentation
    Review Licensing Options
    badge_greencheck_in_yellowcircle
    Thank you
    Your trial key should be in the email.
    If it is not, please contact support@ironsoftware.com
    • Logo Aetna
    • Logo NASA
    • Logo GE
    • Logo Porsche
    • Logo USDA
    • Logo Qatar
    Join Millions of Engineers who’ve tried IronXL
    Your trial key should be in the email.
    If it is not, please contact support@ironsoftware.com