Копирование диапазонов 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) |