Копирование и перемещение листов внутри и между книгами

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

Копирование листа внутри книги

Начальные шаги одинаковы для всех примеров.

  1. Создайте две книги с некоторыми данными в Microsoft Excel. Для целей этого примера мы создали две новые книги в Microsoft Excel и ввели некоторые данные на листах.
  • FirstWorkbook.xlsx (3 листа).
  • SecondWorkbook.xlsx (1 лист).
  1. Скачайте и установите Aspose.Cells:
    1. Загрузить Aspose.Cells for .NET.
    2. Установите его на вашем компьютере для разработки. Все Aspose компоненты при установке работают в режиме оценки. Режим оценки не имеет временных ограничений и вставляет только водяные знаки в созданные документы.
  2. Создайте проект:
    1. Запустите Visual Studio.Net.
    2. Создайте новое консольное приложение.
  3. Добавьте ссылки:
    1. Добавьте ссылку на Aspose.Cells в проект. Например, добавьте ссылку на …\Program Files\Aspose\Aspose.Cells\Bin\Net1.0\Aspose.Cells.dll
  4. Скопируйте лист в книге. Первый пример копирует первый лист (Copy) внутри FirstWorkbook.xlsx.

При выполнении кода лист с именем Copy копируется внутри FirstWorkbook.xlsx с именем Последний лист.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Open a file into the first book.
Workbook excelWorkbook1 = new Workbook(dataDir + @"FirstWorkbook.xlsx");
// Copy the first sheet of the first book with in the workbook
excelWorkbook1.Worksheets[2].Copy(excelWorkbook1.Worksheets["Copy"]);
// Save the file.
excelWorkbook1.Save(dataDir + @"FirstWorkbookCopied_out.xlsx");

Перемещение листа внутри книги

Приведенный ниже код показывает, как переместить лист с одной позиции в книге на другую. При выполнении кода лист с именем Move из индекса 1 перемещается на индекс 2 внутри FirstWorkbook.xlsx.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Open a file into the first book.
Workbook excelWorkbook2 = new Workbook(dataDir + @"FirstWorkbook.xlsx");
// Move the sheet
excelWorkbook2.Worksheets["Move"].MoveTo(2);
// Save the file.
excelWorkbook2.Save(dataDir + @"FirstWorkbookMoved_out.xlsx");

Копирование листа между книгами Excel

При выполнении кода лист с именем Copy копируется в SecondWorkbook.xlsx с именем Sheet2.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Open a file into the first book.
Workbook excelWorkbook3 = new Workbook(dataDir + @"FirstWorkbook.xlsx");
// Open a file into the second book.
Workbook excelWorkbook4 = new Workbook(dataDir + @"SecondWorkbook.xlsx");
// Add new worksheet into second Workbook
excelWorkbook4.Worksheets.Add();
// Copy the first sheet of the first book into second book.
excelWorkbook4.Worksheets[1].Copy(excelWorkbook3.Worksheets["Copy"]);
// Save the file.
excelWorkbook4.Save(dataDir + @"CopyWorksheetsBetweenWorkbooks_out.xlsx");

Перемещение листа между книгами Excel

При выполнении кода лист с именем Move перемещается из FirstWorkbook.xlsx в SecondWorkbook.xlsx с именем Sheet3.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Open a file into the first book.
Workbook excelWorkbook5 = new Workbook(dataDir + @"FirstWorkbook.xlsx");
//Create another Workbook. Open a file into the Second book.
Workbook excelWorkbook6 = new Workbook(dataDir + @"SecondWorkbook.xlsx");
//Add New Worksheet
excelWorkbook6.Worksheets.Add();
//Copy the sheet from first book into second book.
excelWorkbook6.Worksheets[2].Copy(excelWorkbook5.Worksheets[2]);
//Remove the copied worksheet from first workbook
excelWorkbook5.Worksheets.RemoveAt(2);
//Save the file.
excelWorkbook5.Save(dataDir + @"FirstWorkbookWithMove_out.xlsx");
//Save the file.
excelWorkbook6.Save(dataDir + @"SecondWorkbookWithMove_out.xlsx");