IWorkbook.Range Property
Provides access to the cell range in the worbook.
Namespace: DevExpress.Spreadsheet
Assembly: DevExpress.Spreadsheet.v17.2.Core.dll
Declaration
Property Value
Type | Description |
---|---|
IRangeProvider | An object implementing the IRangeProvider interface. |
Remarks
A cell range is a rectangular block of cells that is specified by the Range object. The Range property returns the IRangeProvider object whose members can be used to obtain a cell range.
IRangeProvider.Item, IRangeProvider.Parse - obtain a cell range by its cell reference or name.
To access a cell range located in a specific worksheet of the workbook, specify this worksheet name before the cell reference, and separate them with an exclamation point (for example, workbook.Range.Parse(“Sheet2!C3:D9”)). If you do not specify the worksheet name explicitly, the cell range located on the currently active worksheet is returned.
IRangeProvider.FromLTRB - obtains a cell range by the indexes of its top left and bottom right cells.
This method returns a cell range located in the worksheet that is currently active.
In addition, to get a cell range located in a specific worksheet, you can use the Worksheet.Range property of the corresponding worksheet object.
Example
This example demonstrates how to access ranges of cells in a worksheet. There are several ways to accomplish this.
- Ranges defined by a cell reference (using A1 style) or a defined name in a worksheet - use the Worksheet.Item property.
- Ranges defined by a cell reference (using R1C1 or other reference styles), a defined name in a workbook, or by indexes of the bounding rows and columns - use the IRangeProvider.Item, IRangeProvider.Parse and IRangeProvider.FromLTRB members of the IRangeProvider object, accessed via the Worksheet.Range or IWorkbook.Range property.
Note
A complete sample project is available at https://github.com/DevExpress-Examples/winforms-spreadsheetcontrol-api-e4655
// A range that includes cells from the top left cell (A1) to the bottom right cell (B5).
Range rangeA1B5 = worksheet["A1:B5"];
// A rectangular range that includes cells from the top left cell (C5) to the bottom right cell (E7).
Range rangeC5E7 = worksheet["C5:E7"];
// The C4:E7 cell range located in the "Sheet3" worksheet.
Range rangeSheet3C4E7 = workbook.Range["Sheet3!C4:E7"];
// A range that contains a single cell (E7).
Range rangeE7 = worksheet["E7"];
// A range that includes the entire column A.
Range rangeColumnA = worksheet["A:A"];
// A range that includes the entire row 5.
Range rangeRow5 = worksheet["5:5"];
// A minimal rectangular range that includes all listed cells: C6, D9 and E7.
Range rangeC6D9E7 = worksheet.Range.Parse("C6:D9:E7");
// A rectangular range whose left column index is 0, top row index is 0,
// right column index is 3 and bottom row index is 2. This is the A1:D3 cell range.
Range rangeA1D3 = worksheet.Range.FromLTRB(0, 0, 3, 2);
// A range that includes the intersection of two ranges: C5:E10 and E9:G13.
// This is the E9:E10 cell range.
Range rangeE9E10 = worksheet["C5:E10 E9:G13"];
// Create a defined name for the D20:G23 cell range.
worksheet.DefinedNames.Add("MyNamedRange", "Sheet1!$D$20:$G$23");
// Access a range by its defined name.
Range rangeD20G23 = worksheet["MyNamedRange"];
Range rangeA1D4 = worksheet["A1:D4"];
Range rangeD5E7 = worksheet["D5:E7"];
Range rangeRow11 = worksheet["11:11"];
Range rangeF7 = worksheet["F7"];
// Create a complex range using the Range.Union method.
Range complexRange1 = worksheet["A7:A9"].Union(rangeD5E7);
// Create a complex range using the IRangeProvider.Union method.
Range complexRange2 = worksheet.Range.Union(new Range[] { rangeRow11, rangeA1D4, rangeF7 });
// Fill the ranges with different colors.
complexRange1.FillColor = myColor1;
complexRange2.FillColor = myColor2;
// Use the Areas property to get access to a component of a complex range.
complexRange2.Areas[2].FillColor = Color.Beige;
Related GitHub Examples
The following code snippets (auto-collected from DevExpress Examples) contain references to the Range property.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.