Скопируйте рабочие листы Excel в C#

В некоторых случаях вам может потребоваться скопировать рабочие листы в книгу Excel или из одной книги в другую. С другой стороны, перемещение рабочих листов для изменения их положения в книге также требуется в различных сценариях. Чтобы выполнить вышеупомянутые задачи программно, в этой статье показано, как копировать рабочие листы Excel в рабочие книги с помощью C#. Кроме того, в нем также рассказывается, как изменить положение листа в книге Excel.

C# API для копирования листов Excel

Чтобы копировать рабочие листы в файлы Excel, мы воспользуемся мощными возможностями работы с электронными таблицами Aspose.Cells for .NET. API предоставляет широкий спектр функций для создания и обработки файлов Excel из приложений .NET. Вы можете либо скачать двоичные файлы API, либо установить его с помощью NuGet.

PM> Install-Package Aspose.Cells

Скопируйте рабочие листы Excel с помощью C#

Ниже приведены шаги для копирования листа Excel в книгу с помощью C#.

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

// Откройте существующий файл Excel
Workbook wb = new Workbook("workbook.xlsx");

// Создайте объект WorksheetCollection со ссылкой на листы Workbook.
WorksheetCollection sheets = wb.Worksheets;

// Скопируйте данные на новый лист из существующего листа в рабочей книге.
sheets.AddCopy("Sheet1");

// Сохраните файл Excel
wb.Save("CopyWithinWorkbook.xlsx");

Скопируйте рабочие листы Excel из одной книги в другую

Теперь давайте посмотрим, как скопировать лист из одной книги Excel в другую. Ниже приведены шаги для выполнения этой операции.

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

// Файл Excel с открытым исходным кодом
Workbook sourceWorkbook = new Workbook("source.xlsx");

// Откройте целевой файл Excel
Workbook destinationWorkbook = new Workbook("destination.xlsx");

// Скопируйте первый лист исходной книги в целевую книгу.
destinationWorkbook.Worksheets[0].Copy(sourceWorkbook.Worksheets[0]);

// Сохраните файл Excel
destinationWorkbook.Save("copy-worksheets.xlsx");

Переместить рабочий лист из одной позиции в другую в С#

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

  • Загрузите файл Excel, используя класс Workbook.
  • Получить рабочие листы в объекте WorksheetCollection с помощью свойства Workbook.Worksheets.
  • Получите доступ к нужному рабочему листу из коллекции рабочих листов в объект Worksheet.
  • Используйте метод Worksheet.MoveTo(int), чтобы переместить рабочий лист в указанный индекс.
  • Сохраните обновленную книгу с помощью метода Workbook.Save(string).

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

// Откройте существующий файл Excel
Workbook wb = new Workbook("workbook.xlsx");

// Создайте объект WorksheetCollection со ссылкой на листы Workbook.
WorksheetCollection sheets = wb.Worksheets;

// Получите первый рабочий лист.
Worksheet worksheet = sheets[0];

// Переместите первый лист на третью позицию в книге
worksheet.MoveTo(2);

// Сохраните файл Excel
wb.Save("move-worksheet.xlsx");

Получите бесплатную лицензию API

Вы можете попробовать и оценить Aspose.Cells для .NET бесплатно, запросив временную лицензию.

Вывод

В этой статье вы узнали, как копировать листы Excel в книгу или из одной книги в другую с помощью C#. Кроме того, вы видели, как перемещать рабочий лист Excel из одной позиции в другую в рабочей книге. Вы можете изучить другие функции Aspose.Cells для .NET, используя документацию. Если у вас возникнут какие-либо вопросы, пишите на наш форум.

Смотрите также