Копирование и перемещение рабочих листов
Иногда вам действительно нужно несколько рабочих листов с общим форматированием и данными. Например, если вы работаете с квартальными бюджетами, вам может потребоваться создать книгу с листами, содержащими одинаковые заголовки столбцов, заголовки строк и формулы. Есть способ сделать это: создав один лист, а затем скопировав его.
Aspose.Cells поддерживает копирование и перемещение листов внутри или между книгами. Листы, включая данные, форматирование, таблицы, матрицы, диаграммы, изображения и другие объекты, копируются с большой точностью.
Перемещение или копирование листов с использованием Microsoft Excel
Ниже перечислены шаги копирования и перемещения листов внутри или между книгами.
- Откройте книгу, которая примет листы.
- Переключитесь на рабочую книгу, которая содержит листы, которые вы хотите переместить или скопировать, а затем выберите листы.
- На меню Изменить нажмите Переместить или Скопировать лист.
- В поле В книгу щелкните рабочую книгу, которая получит листы.
- Чтобы переместить или скопировать выбранные листы в новую книгу, нажмите новая книга.
- В поле Перед листом щелкните лист, перед которым вы хотите вставить перемещенные или скопированные листы.
- Чтобы скопировать листы вместо их перемещения, выберите флажок Создать копию.
Копировать листы в рамках рабочей книги
Aspose.Cells предоставляет перегруженный метод WorksheetCollection.addCopy(), который используется для копирования существующего листа. Одна версия метода принимает индекс исходного листа в качестве параметра. Другая версия принимает имя исходного листа.
В следующем примере показано, как скопировать существующий лист в рамках рабочей книги.
source_directory = "Examples/SampleFiles/SourceDirectory/" | |
output_directory = "Examples/SampleFiles/OutputDirectory/" | |
workbook = Workbook(source_directory + "Book1.xlsx") | |
# Create a Worksheets object with reference to the sheets of the Workbook. | |
sheets = workbook.getWorksheets() | |
# Copy data to a new sheet from an existing sheet within the Workbook. | |
sheets.addCopy("Sheet1") | |
# Save the excel file. | |
workbook.save(output_directory + "CopyWithinWorkbook_out.xlsx") |
Копировать листы между рабочими книгами
Aspose.Cells предоставляет метод Worksheet.copy(), используемый для копирования листов в другие книги. Метод принимает объект исходного листа в качестве параметра.
В следующем примере показано, как скопировать лист из одной рабочей книги в другую рабочую книгу.
source_directory = "Examples/SampleFiles/SourceDirectory/" | |
output_directory = "Examples/SampleFiles/OutputDirectory/" | |
workbook0 = Workbook(source_directory + "Book1.xlsx") | |
# Create a Worksheets object with reference to the sheets of the Workbook. | |
workbook1 = Workbook() | |
# Copy the first sheet of the first book into second book. | |
workbook1.getWorksheets().get(0).copy(workbook0.getWorksheets().get(0)) | |
# Save the excel file. | |
workbook1.save(output_directory + "CopyWorksheetsBetweenWorkbooks_out.xlsx") |
Перемещение листов в рамках рабочей книги
Aspose.Cells предоставляет метод Worksheet.moveTo(), используемый для перемещения листа в другое место в том же электронном документе.
В следующем примере показано, как переместить лист в другое место внутри рабочей книги.
source_directory = "Examples/SampleFiles/SourceDirectory/" | |
output_directory = "Examples/SampleFiles/OutputDirectory/" | |
workbook = Workbook(source_directory + "sampleCMultipleWorksheets.xlsx") | |
# Get the first worksheet in the book. | |
sheet = workbook.getWorksheets().get(0) | |
# Move the first sheet to the third position in the workbook. | |
sheet.moveTo(2) | |
# Save the excel file. | |
workbook.save(output_directory + "MoveWorksheet_out.xlsx") |