Копирование диапазонов Excel
Введение
В Excel вы можете выбрать диапазон, скопировать его, а затем вставить его с определенными параметрами на ту же рабочую книгу, другие листы или другие файлы.
Копирование диапазонов с использованием библиотеки Aspose.Cells for Python Excel
Aspose.Cells for Python via .NET предоставляет несколько перегруженных методов Range.copy для копирования диапазона. И Range.copy_style только стиль копирования диапазона; Range.copy_data только значение копирования диапазона
Копировать диапазон
Создание двух диапазонов: исходного диапазона, целевого диапазона, затем копирование исходного диапазона в целевой диапазон с помощью метода Range.copy.
См. следующий код:
from aspose.cells import Workbook | |
# Instantiate a new Workbook. | |
workbook = Workbook() | |
# Get all the worksheets in the book. | |
worksheets = workbook.worksheets | |
# Get the first worksheet in the worksheets collection. | |
worksheet = workbook.worksheets[0] | |
# Create a range of cells. | |
sourceRange = worksheet.cells.create_range("A1", "A2") | |
# Input some data with some formattings into | |
# A few cells in the range. | |
sourceRange.get(0, 0).put_value("Test") | |
sourceRange.get(1, 0).put_value("123") | |
# Create target range of cells. | |
targetRange = worksheet.cells.create_range("B1", "B2") | |
# Copy source range to target range in the same workhseet | |
targetRange.copy(sourceRange) | |
# Create target range of cells. | |
workbook.worksheets.add() | |
worksheet = workbook.worksheets[1] | |
targetRange = worksheet.cells.create_range("A1", "A2") | |
# Copy source range to target range in another workhseet | |
targetRange.copy(sourceRange) | |
# Copy to another workbook | |
anotherWorkbook = Workbook() | |
worksheet = workbook.worksheets[0] | |
targetRange = worksheet.cells.create_range("A1", "A2") | |
# Copy source range to target range in another workbook | |
targetRange.copy(sourceRange) |
Вставка диапазона с параметрами
Aspose.Cells for Python via .NET поддерживает вставку диапазона с определенным типом.
from aspose.cells import PasteOptions, PasteType, Workbook | |
# Instantiate a new Workbook. | |
workbook = Workbook() | |
# Get all the worksheets in the book. | |
worksheets = workbook.worksheets | |
# Get the first worksheet in the worksheets collection. | |
worksheet = workbook.worksheets[0] | |
# Create a range of cells. | |
sourceRange = worksheet.cells.create_range("A1", "A2") | |
# Input some data with some formattings into | |
# A few cells in the range. | |
sourceRange.get(0, 0).put_value("Test") | |
sourceRange.get(1, 0).put_value("123") | |
# Create target range of cells. | |
targetRange = worksheet.cells.create_range("B1", "B2") | |
# Init paste options. | |
options = PasteOptions() | |
# Set paste type. | |
options.paste_type = PasteType.VALUES_AND_FORMATS | |
options.skip_blanks = True | |
# Copy source range to target range | |
targetRange.copy(sourceRange, options) |
Только копирование данных из диапазона
Также вы можете скопировать данные с помощью метода Range.copy_data, как показано в следующих кодах:
from aspose.cells import Workbook | |
# Instantiate a new Workbook. | |
workbook = Workbook() | |
# Get all the worksheets in the book. | |
worksheets = workbook.worksheets | |
# Get the first worksheet in the worksheets collection. | |
worksheet = workbook.worksheets[0] | |
# Create a range of cells. | |
sourceRange = worksheet.cells.create_range("A1", "A2") | |
# Input some data with some formattings into | |
# A few cells in the range. | |
sourceRange.get(0, 0).put_value("Test") | |
sourceRange.get(1, 0).put_value("123") | |
# Create target range of cells. | |
targetRange = worksheet.cells.create_range("B1", "B2") | |
# Copy the data of source range to target range | |
targetRange.copy_data(sourceRange) |