Копирование и перемещение рабочих листов
Иногда вам действительно нужно несколько рабочих листов с общим форматированием и данными. Например, если вы работаете с квартальными бюджетами, вам может потребоваться создать книгу с листами, содержащими одинаковые заголовки столбцов, заголовки строк и формулы. Есть способ сделать это: создав один лист, а затем скопировав его.
Aspose.Cells для Python via .NET поддерживает копирование и перемещение листов внутри или между рабочими книгами. Лист с данными, форматированием, таблицами, матрицами, графиками, изображениями и другими объектами копируется с максимальной точностью.
Как перемещать или копировать листы с помощью Microsoft Excel
Ниже приведены шаги для копирования и перемещения листов внутри или между книгами в Microsoft Excel.
- Чтобы переместить или скопировать листы в другую рабочую книгу, откройте рабочую книгу, которая будет получать листы.
- Переключитесь на рабочую книгу, которая содержит листы, которые вы хотите переместить или скопировать, а затем выберите листы.
- На меню Правка щелкните Переместить или скопировать лист.
- В диалоговом окне В книгу щелкните книгу, которая получит листы.
- Чтобы переместить или скопировать выбранные листы в новую книгу, щелкните Новая книга.
- В поле Перед листом щелкните лист, перед которым вы хотите вставить перемещенные или скопированные листы.
- Чтобы скопировать листы вместо их перемещения, выберите флажок Создать копию.
Как копировать листы внутри рабочей книги с помощью библиотеки Aspose.Cells для Python Excel
Aspose.Cells для Python via .NET предоставляет перегруженный метод, Aspose.Cells.WorksheetCollection.add_copy(), который используется для добавления листа в коллекцию и копирования данных из существующего листа. Одна версия метода принимает индекс исходного листа, другая — имя исходного листа.
В следующем примере показано, как скопировать существующий лист в рамках рабочей книги.
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(".") | |
InputPath = dataDir + "book1.xls" | |
# Open an existing Excel file. | |
wb = Workbook(InputPath) | |
# Create a Worksheets object with reference to | |
# the sheets of the Workbook. | |
sheets = wb.worksheets | |
# Copy data to a new sheet from an existing | |
# sheet within the Workbook. | |
sheets.add_copy("Sheet1") | |
# Save the Excel file. | |
wb.save(dataDir + "CopyWithinWorkbook_out.xls") |
Как копировать листы между рабочими книгами
Aspose.Cells для Python via .NET предоставляет метод Aspose.Cells.Worksheet.copy(), который используется для копирования данных и форматирования из исходного листа в другой лист внутри или между рабочими книгами. Метод принимает объект исходного листа.
В следующем примере показано, как скопировать лист из одной рабочей книги в другую рабочую книгу.
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(".") | |
InputPath = dataDir + "book1.xls" | |
# Create a Workbook. | |
# Open a file into the first book. | |
excelWorkbook0 = Workbook(InputPath) | |
# Create another Workbook. | |
excelWorkbook1 = Workbook() | |
# Copy the first sheet of the first book into second book. | |
excelWorkbook1.worksheets[0].copy(excelWorkbook0.worksheets[0]) | |
# Save the file. | |
excelWorkbook1.save(dataDir + "CopyWorksheetsBetweenWorkbooks_out.xls") |
В следующем примере показано, как скопировать лист из одной рабочей книги в другую рабочую книгу.
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(".") | |
# Create a new Workbook. | |
excelWorkbook0 = Workbook() | |
# Get the first worksheet in the book. | |
ws0 = excelWorkbook0.worksheets[0] | |
# Put some data into header rows (A1:A4) | |
for i in range(5): | |
headerRow = "Header Row " + str(i) | |
ws0.cells.get(i, 0).put_value(headerRow) | |
# Put some detail data (A5:A999) | |
for i in range(5, 1000): | |
detailRow = "Detail Row " + str(i) | |
ws0.cells.get(i, 0).put_value(detailRow) | |
# Define a pagesetup object based on the first worksheet. | |
pagesetup = ws0.page_setup | |
# The first five rows are repeated in each page... | |
# It can be seen in print preview. | |
pagesetup.print_title_rows = "$1:$5" | |
# Create another Workbook. | |
excelWorkbook1 = Workbook() | |
# Get the first worksheet in the book. | |
ws1 = excelWorkbook1.worksheets[0] | |
# Name the worksheet. | |
ws1.name = "MySheet" | |
# Copy data from the first worksheet of the first workbook into the | |
# first worksheet of the second workbook. | |
ws1.copy(ws0) | |
# Save the excel file. | |
excelWorkbook1.save(dataDir + "CopyWorksheetFromWorkbookToOther_out.xls") |
Как перемещать листы внутри рабочей книги
Aspose.Cells для Python via .NET предоставляет метод Aspose.Cells.Worksheet.move_to(), который используется для перемещения листа в другое место в той же таблице. Метод принимает индекс целевого листа.
В следующем примере показано, как переместить лист в другое место внутри рабочей книги.
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(".") | |
InputPath = dataDir + "book1.xls" | |
# Open an existing excel file. | |
wb = Workbook(InputPath) | |
# Create a Worksheets object with reference to | |
# the sheets of the Workbook. | |
sheets = wb.worksheets | |
# Get the first worksheet. | |
worksheet = sheets[0] | |
# Move the first sheet to the third position in the workbook. | |
worksheet.move_to(2) | |
# Save the excel file. | |
wb.save(dataDir + "MoveWorksheet_out.xls") |