В некоторых случаях вам может потребоваться скопировать рабочие листы в книгу Excel или из одной книги в другую. С другой стороны, перемещение рабочих листов для изменения их положения в книге также требуется в различных сценариях. Чтобы выполнить вышеупомянутые задачи программно, в этой статье показано, как копировать рабочие листы Excel в рабочие книги с помощью C#. Кроме того, в нем также рассказывается, как изменить положение листа в книге Excel.
- C# API для копирования листов Excel
- Скопируйте рабочие листы в книгу Excel
- Скопируйте рабочие листы из одной рабочей книги в другую
- Перемещение рабочих листов из одной позиции в другую
- Получите бесплатную лицензию API
C# API для копирования листов Excel
Чтобы копировать рабочие листы в файлы Excel, мы воспользуемся мощными возможностями работы с электронными таблицами Aspose.Cells for .NET. API предоставляет широкий спектр функций для создания и обработки файлов Excel из приложений .NET. Вы можете либо скачать двоичные файлы API, либо установить его с помощью NuGet.
PM> Install-Package Aspose.Cells
Скопируйте рабочие листы Excel с помощью C#
Ниже приведены шаги для копирования листа Excel в книгу с помощью C#.
- Загрузите файл Excel, используя класс Workbook.
- Получить рабочие листы в объекте WorksheetCollection из свойства Workbook.Worksheets.
- Используйте метод WorksheetCollection.AddCopy(string), чтобы скопировать рабочий лист, указав его имя.
- Сохраните обновленную книгу с помощью метода Workbook.Save(string).
В следующем примере кода показано, как скопировать лист Excel в книгу.
// Откройте существующий файл Excel
Workbook wb = new Workbook("workbook.xlsx");
// Создайте объект WorksheetCollection со ссылкой на листы Workbook.
WorksheetCollection sheets = wb.Worksheets;
// Скопируйте данные на новый лист из существующего листа в рабочей книге.
sheets.AddCopy("Sheet1");
// Сохраните файл Excel
wb.Save("CopyWithinWorkbook.xlsx");
Скопируйте рабочие листы Excel из одной книги в другую
Теперь давайте посмотрим, как скопировать лист из одной книги Excel в другую. Ниже приведены шаги для выполнения этой операции.
- Создайте объект класса Workbook и загрузите исходный файл Excel.
- Создайте еще один объект класса Workbook и загрузите целевой файл Excel.
- Скопируйте рабочий лист из исходной книги в целевую, используя метод destinationWorkbook.Worksheets[int].Copy(sourceWorkbook.Worksheets[int]).
- Сохраните целевую книгу, используя метод Workbook.Save(string).
В следующем примере кода показано, как скопировать лист из одной книги в другую на 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, используя документацию. Если у вас возникнут какие-либо вопросы, пишите на наш форум.