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

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

Следующие шаги включаются в копирование и перемещение рабочих листов внутри или между книгами в Microsoft Excel.

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

Копирование листов внутри книги с помощью Aspose.Cells

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

Aspose::Cells::Startup();
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
//Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
//Path of input excel file
U16String sampleCopyingAndMovingWorksheets = srcDir + u"sampleCopyingAndMovingWorksheets.xlsx";
//Path of output excel file
U16String outputCopyingAndMovingWorksheets = outDir + u"outputCopyingAndMovingWorksheets.xlsx";
//Create workbook
Workbook workbook(sampleCopyingAndMovingWorksheets);
//Create worksheets object with reference to the sheets of the workbook.
WorksheetCollection sheets = workbook.GetWorksheets();
//Copy data to a new sheet from an existing sheet within the workbook.
sheets.AddCopy(u"Sheet1");
//Save the Excel file.
workbook.Save(outputCopyingAndMovingWorksheets);
std::cout << "Worksheet copied successfully with in a workbook!" << std::endl;
Aspose::Cells::Cleanup();

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

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

Aspose::Cells::Startup();
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
//Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
//Path of input excel file
U16String sampleCopyingAndMovingWorksheets = srcDir + u"sampleCopyingAndMovingWorksheets.xlsx";
//Path of output excel file
U16String outputCopyingAndMovingWorksheets = outDir + u"outputCopyingAndMovingWorksheets.xlsx";
//Create workbook
Workbook workbook(sampleCopyingAndMovingWorksheets);
//Create worksheets object with reference to the sheets of the workbook.
WorksheetCollection sheets = workbook.GetWorksheets();
//Access the first sheet
Worksheet sheet = sheets.Get(0);
//Move the first sheet to the third position in the workbook.
sheet.MoveTo(2);
//Save the Excel file.
workbook.Save(outputCopyingAndMovingWorksheets);
std::cout << "Worksheet moved successfully with in a workbook!" << std::endl;
Aspose::Cells::Cleanup();