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

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

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

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

Скопируйте рабочие листы в рабочую книгу с помощью Aspose.Cells

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

//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Source directory path
StringPtr srcDir = new String("..\\Data\\01_SourceDirectory\\");
//Output directory path
StringPtr outDir = new String("..\\Data\\02_OutputDirectory\\");
//Path of input excel file
StringPtr sampleCopyingAndMovingWorksheets = srcDir->StringAppend(new String("sampleCopyingAndMovingWorksheets.xlsx"));
//Path of output excel file
StringPtr outputCopyingAndMovingWorksheets = outDir->StringAppend(new String("outputCopyingAndMovingWorksheets.xlsx"));
//Create workbook
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(sampleCopyingAndMovingWorksheets);
//Create worksheets object with reference to the sheets of the workbook.
intrusive_ptr<IWorksheetCollection> sheets = workbook->GetIWorksheets();
//Copy data to a new sheet from an existing sheet within the workbook.
sheets->AddCopy(new String("Test1"));
//Save the Excel file.
workbook->Save(outputCopyingAndMovingWorksheets);
StringPtr msg = new String("Worksheet copied successfully with in a workbook!");
Console::WriteLine(msg);

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

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

//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Source directory path
StringPtr srcDir = new String("..\\Data\\01_SourceDirectory\\");
//Output directory path
StringPtr outDir = new String("..\\Data\\02_OutputDirectory\\");
//Path of input excel file
StringPtr sampleCopyingAndMovingWorksheets = srcDir->StringAppend(new String("sampleCopyingAndMovingWorksheets.xlsx"));
//Path of output excel file
StringPtr outputCopyingAndMovingWorksheets = outDir->StringAppend(new String("outputCopyingAndMovingWorksheets.xlsx"));
//Create workbook
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(sampleCopyingAndMovingWorksheets);
//Create worksheets object with reference to the sheets of the workbook.
intrusive_ptr<IWorksheetCollection> sheets = workbook->GetIWorksheets();
//Access the first sheet
intrusive_ptr<IWorksheet> sheet = sheets->GetObjectByIndex(0);
//Move the first sheet to the third position in the workbook.
sheet->MoveTo(2);
//Save the Excel file.
workbook->Save(outputCopyingAndMovingWorksheets);
StringPtr msg = new String("Worksheet moved successfully with in a workbook!");
Console::WriteLine(msg);