Format and Modify Named Ranges
Format Ranges
How to Set Background Color and Font Attributes to a Named Range
To apply formatting, define a Style object to specify the style settings and apply it to the Range object.
The following example shows how to set the solid fill color (shading color) with font settings to a range.
from aspose.cells import BackgroundType, StyleFlag, Workbook | |
from aspose.pydrawing import Color | |
from os import os, path | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Create directory if it is not already present. | |
IsExists = path.isdir(dataDir) | |
if notIsExists: | |
os.makedirs(dataDir) | |
# Instantiate a new Workbook. | |
workbook = Workbook() | |
# Get the first worksheet in the book. | |
WS = workbook.worksheets[0] | |
# Create a range of cells. | |
range = WS.cells.create_range(1, 1, 1, 18) | |
# Name the range. | |
range.name = "MyRange" | |
# Create/add the style object. | |
stl = workbook.create_style() | |
# Specify some Font settings. | |
stl.font.name = "Arial" | |
stl.font.is_bold = True | |
# Set the font text color | |
stl.font.color = Color.red | |
# To Set the fill color of the range, you may use ForegroundColor with | |
# Solid Pattern setting. | |
stl.foreground_color = Color.yellow | |
stl.pattern = BackgroundType.SOLID | |
# Create a StyleFlag object. | |
flg = StyleFlag() | |
# Make the corresponding attributes ON. | |
flg.font = True | |
flg.cell_shading = True | |
# Apply the style to the range. | |
range.apply_style(stl, flg) | |
# Save the excel file. | |
workbook.save(dataDir + "rangestyles.out.xls") |
How to Add Borders to a Named Range
It is possible to add borders to a range of cells instead of just a single cell. The Range object provides a set_outline_border method that takes the following parameters to add a border to the range of cells:
- Border type, the type of border, selected from the BorderType enumeration.
- Line style, the line style, selected from the CellBorderType enumeration.
- Color, the line color, selected from the Color enumeration.
The following example shows how to set an outline border to a range.
from aspose.cells import BorderType, CellBorderType, Workbook | |
from aspose.pydrawing import Color | |
from os import os, path | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Create directory if it is not already present. | |
IsExists = path.isdir(dataDir) | |
if notIsExists: | |
os.makedirs(dataDir) | |
# Instantiating a Workbook object | |
workbook = Workbook() | |
# Clears the worksheets | |
workbook.worksheets.clear() | |
# Adding a new worksheet to the Workbook object | |
workbook.worksheets.add() | |
# Obtaining the reference of the newly added worksheet by passing its sheet index | |
worksheet = workbook.worksheets[0] | |
# Accessing the "A1" cell from the worksheet | |
cell = worksheet.cells.get("A1") | |
# Adding some value to the "A1" cell | |
cell.put_value("Hello World From Aspose") | |
# Creating a range of cells starting from "A1" cell to 3rd column in a row | |
range = worksheet.cells.create_range(0, 0, 1, 3) | |
# Adding a thick top border with blue line | |
range.set_outline_border(BorderType.TOP_BORDER, CellBorderType.THICK, Color.blue) | |
# Adding a thick bottom border with blue line | |
range.set_outline_border(BorderType.BOTTOM_BORDER, CellBorderType.THICK, Color.blue) | |
# Adding a thick left border with blue line | |
range.set_outline_border(BorderType.LEFT_BORDER, CellBorderType.THICK, Color.blue) | |
# Adding a thick right border with blue line | |
range.set_outline_border(BorderType.RIGHT_BORDER, CellBorderType.THICK, Color.blue) | |
# Saving the Excel file | |
workbook.save(dataDir + "book1.out.xls") |
How to Rename a Named Range
Aspose.Cells allows you to rename a named range for your need. You may get the named range and rename it by using Name.text attribute. The following example shows how to rename a named range.
from aspose.cells import Workbook | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Open an existing Excel file that has a (global) named range "TestRange" in it | |
workbook = Workbook(dataDir + "book1.xls") | |
# Get the first worksheet | |
sheet = workbook.worksheets[0] | |
# Get the Cells of the sheet | |
cells = sheet.cells | |
# Get the named range "MyRange" | |
name = workbook.worksheets.names.get("TestRange") | |
# Rename it | |
name.text = "NewRange" | |
# Save the Excel file | |
workbook.save(dataDir + "RenamingRange.out.xlsx") |
How to Take Union of Ranges
Aspose.Cells provides Range.union method to take the union for ranges. The following example shows how to take union for ranges.
from aspose import pycore | |
from aspose.cells import BackgroundType, Range, StyleFlag, Workbook | |
from aspose.pydrawing import Color | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Instantiate a workbook object. | |
# Open an existing excel file. | |
workbook = Workbook(dataDir + "book1.xls") | |
# Get the named ranges. | |
ranges = workbook.worksheets.get_named_ranges() | |
# Create a style object. | |
style = workbook.create_style() | |
# Set the shading color with solid pattern type. | |
style.foreground_color = Color.yellow | |
style.pattern = BackgroundType.SOLID | |
# Create a styleflag object. | |
flag = StyleFlag() | |
# Apply the cellshading. | |
flag.cell_shading = True | |
# Creates an arraylist. | |
al = [] | |
# Get the arraylist collection apply the union operation. | |
al = ranges[0].union(ranges[1]) | |
for i in range(len(al)): | |
# Get a range. | |
rng = pycore.cast(Range, al[i]) | |
frow = rng.first_row | |
fcol = rng.first_column | |
erow = rng.row_count | |
ecol = rng.column_count | |
# Apply the style to the range. | |
rng.apply_style(style, flag) | |
# Save the excel file. | |
workbook.save(dataDir + "rngUnion.out.xls") |
How to Intersect the Ranges
Aspose.Cells provides the Range.intersect method to intersect two ranges. The method returns a Range object. To check whether a range intersects another range, use the Range.intersect method that returns a Boolean value. The following example shows how to intersect the ranges.
from aspose.cells import BackgroundType, StyleFlag, Workbook | |
from aspose.pydrawing import Color | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Instantiate a workbook object. | |
# Open an existing excel file. | |
workbook = Workbook(dataDir + "book1.xls") | |
# Get the named ranges. | |
ranges = workbook.worksheets.get_named_ranges() | |
# Check whether the first range intersect the second range. | |
isintersect = ranges[0].is_intersect(ranges[1]) | |
# Create a style object. | |
style = workbook.create_style() | |
# Set the shading color with solid pattern type. | |
style.foreground_color = Color.yellow | |
style.pattern = BackgroundType.SOLID | |
# Create a styleflag object. | |
flag = StyleFlag() | |
# Apply the cellshading. | |
flag.cell_shading = True | |
# If first range intersects second range. | |
if isintersect: | |
# Create a range by getting the intersection. | |
intersection = ranges[0].intersect(ranges[1]) | |
# Name the range. | |
intersection.name = "Intersection" | |
# Apply the style to the range. | |
intersection.apply_style(style, flag) | |
# Save the excel file. | |
workbook.save(dataDir + "rngIntersection.out.xls") |
How to Merge Cells in the Named Range
Aspose.Cells provides Range.merge() method to merge the cells in the range. The following example shows how to merge the individual cells of a named range.
from aspose.cells import StyleFlag, TextAlignmentType, Workbook | |
from os import os, path | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Create directory if it is not already present. | |
IsExists = path.isdir(dataDir) | |
if notIsExists: | |
os.makedirs(dataDir) | |
# Instantiate a new Workbook. | |
wb1 = Workbook() | |
# Get the first worksheet in the workbook. | |
worksheet1 = wb1.worksheets[0] | |
# Create a range. | |
mrange = worksheet1.cells.create_range("A18", "J18") | |
# Name the range. | |
mrange.name = "Details" | |
# Merge the cells of the range. | |
mrange.merge() | |
# Get the range. | |
range1 = wb1.worksheets.get_range_by_name("Details") | |
# Define a style object. | |
style = wb1.create_style() | |
# Set the alignment. | |
style.horizontal_alignment = TextAlignmentType.CENTER | |
# Create a StyleFlag object. | |
flag = StyleFlag() | |
# Make the relative style attribute ON. | |
flag.horizontal_alignment = True | |
# Apply the style to the range. | |
range1.apply_style(style, flag) | |
# Input data into range. | |
range1.worksheet.cells.get(range1.first_row, range1.first_column).put_value("Aspose") | |
# Save the excel file. | |
wb1.save(dataDir + "mergingrange.out.xls") |