Копирование и перемещение рабочих листов

Перемещение или копирование листов с использованием Microsoft Excel

Вот какие шаги включены в копирование и перемещение листов внутри или между рабочими книгами.

  1. Чтобы переместить или скопировать листы в другую рабочую книгу, откройте рабочую книгу, которая будет получать листы.
  2. Переключитесь на рабочую книгу, которая содержит листы, которые вы хотите переместить или скопировать, а затем выберите листы.
  3. На меню Правка щелкните Переместить или скопировать лист.
  4. В поле В книгу щелкните рабочую книгу, которая получит листы.
  5. Чтобы переместить или скопировать выбранные листы в новую рабочую книгу, щелкните новая книга.
  6. В поле Перед листом щелкните лист, перед которым вы хотите вставить перемещенные или скопированные листы.
  7. Чтобы скопировать листы вместо их перемещения, выберите флажок Создать копию.

Копировать листы в рамках рабочей книги

Aspose.Cells предоставляет перегруженный метод WorksheetCollection.addCopy(), который используется для добавления листа в коллекцию и копирования данных с существующего листа. Одна версия метода принимает индекс исходного листа в качестве параметра. Другая версия принимает имя исходного листа.

В следующем примере показано, как скопировать существующий лист в рамках рабочей книги.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
String dataDir = Utils.getSharedDataDir(AddingPageBreaks.class) + "worksheets/";
// Create a new Workbook by excel file path
Workbook wb = new Workbook(dataDir + "book1.xls");
// Create a Worksheets object with reference to the sheets of the Workbook.
WorksheetCollection sheets = wb.getWorksheets();
// Copy data to a new sheet from an existing sheet within the Workbook.
sheets.addCopy("Sheet1");
// Save the excel file.
wb.save(dataDir + "CopyWithinWorkbook_out.xls");

Копировать листы между рабочими книгами

Aspose.Cells предоставляет метод Worksheet.copy(), используемый для копирования данных и форматирования с исходного листа на другой лист внутри или между книгами. Метод принимает объект исходного листа в качестве параметра.

В следующем примере показано, как скопировать лист из одной рабочей книги в другую рабочую книгу.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
String dataDir = Utils.getSharedDataDir(AddingPageBreaks.class) + "worksheets/";
// Create a Workbook.
Workbook excelWorkbook0 = new Workbook(dataDir + "book1.xls");
// Create another Workbook.
Workbook excelWorkbook1 = new Workbook();
// Copy the first sheet of the first book into second book.
excelWorkbook1.getWorksheets().get(0).copy(excelWorkbook0.getWorksheets().get(0));
// Save the file.
excelWorkbook1.save(dataDir + "CWBetweenWorkbooks_out.xls", FileFormatType.EXCEL_97_TO_2003);

В следующем примере показано, как скопировать лист из одной рабочей книги в другую рабочую книгу.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
String dataDir = Utils.getSharedDataDir(AddingPageBreaks.class) + "worksheets/";
// Create a new Workbook.
Workbook excelWorkbook0 = new Workbook();
// Get the first worksheet in the book.
Worksheet ws0 = excelWorkbook0.getWorksheets().get(0);
// Put some data into header rows (A1:A4)
for (int i = 0; i < 5; i++) {
ws0.getCells().get(i, 0).setValue("Header Row " + i);
}
// Put some detail data (A5:A999)
for (int i = 5; i < 1000; i++) {
ws0.getCells().get(i, 0).setValue("Detail Row " + i);
}
// Define a pagesetup object based on the first worksheet.
PageSetup pagesetup = ws0.getPageSetup();
// The first five rows are repeated in each page... It can be seen in print preview.
pagesetup.setPrintTitleRows("$1:$5");
// Create another Workbook.
Workbook excelWorkbook1 = new Workbook();
// Get the first worksheet in the book.
Worksheet ws1 = excelWorkbook1.getWorksheets().get(0);
// Name the worksheet.
ws1.setName("Sheet1");
// 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", FileFormatType.EXCEL_97_TO_2003);

Перемещение листов в рамках рабочей книги

Aspose.Cells предоставляет метод Worksheet.moveTo(), используемый для перемещения листа в другое место в той же таблице.

В следующем примере показано, как переместить лист в другое место внутри рабочей книги.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
String dataDir = Utils.getSharedDataDir(MoveWorksheet.class) + "worksheets/";
// Create a new Workbook.
Workbook wb = new Workbook(dataDir + "BkFinance.xls");
// Get the first worksheet in the book.
Worksheet sheet = wb.getWorksheets().get(0);
// Move the first sheet to the third position in the workbook.
sheet.moveTo(2);
// Save the Excel file.
wb.save(dataDir + "MoveWorksheet_out.xls");