Copy Range Data with Style
Contents
[
Hide
]
Copy Range Data Only explained how to copy the data from a range of cells to another range. Specifically, it process applied a new set of styles to the copied cells. Aspose.Cells for Python via .NET can also copy a range complete with formatting. This article explains how.
Aspose.Cells for Python via .NET provides a range of classes and methods for working with ranges, for example, create_range(upper_left_cell, lower_right_cell), StyleFlag and apply_style(style, flag).
This example:
- Creates a workbook.
- Fills a number of cells in the first worksheet with data.
- Creates a Range.
- Creates a Style object with specified formatting attributes.
- Applies the style to the data range.
- Creates a second range of cells.
- Copies data with the formatting from the first range to the second range.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from aspose.cells import BackgroundType, CellBorderType, 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 new Workbook. | |
workbook = Workbook() | |
# Get the first Worksheet Cells. | |
cells = workbook.worksheets[0].cells | |
# Fill some sample data into the cells. | |
for i in range(50): | |
for j in range(10): | |
cells.get(i, j).put_value(str(i) + "," + str(j)) | |
# Create a range (A1:D3). | |
range = cells.create_range("A1", "D3") | |
style = workbook.create_style() | |
# Specify the font attribute. | |
style.font.name = "Calibri" | |
# Specify the shading color. | |
style.foreground_color = Color.yellow | |
style.pattern = BackgroundType.SOLID | |
# Specify the border attributes. | |
style.borders.set_color(Color.blue) | |
style.borders.set_style(CellBorderType.THIN) | |
# Create the styleflag object. | |
flag1 = StyleFlag() | |
# Implement font attribute | |
flag1.font_name = True | |
# Implement the shading / fill color. | |
flag1.cell_shading = True | |
# Implment border attributes. | |
flag1.borders = True | |
# Set the Range style. | |
range.apply_style(style, flag1) | |
# Create a second range (C10:F12). | |
range2 = cells.create_range("C10", "F12") | |
# Copy the range data with formatting. | |
range2.copy(range) | |
dataDir = dataDir + "CopyRange.out.xlsx" | |
# Save the excel file. | |
workbook.save(dataDir) |