Copie hojas de cálculo de Excel en C#

En ciertos casos, es posible que deba copiar hojas de trabajo dentro de un libro de Excel o de un Workbook a otro. Por otro lado, también se requiere mover hojas de trabajo para cambiar su posición dentro de un Workbook en diferentes escenarios. Para realizar las tareas mencionadas anteriormente mediante programación, este artículo muestra cómo copiar hojas de cálculo de Excel dentro de libros de trabajo utilizando C#. Además, también cubre cómo cambiar la posición de una hoja de cálculo en un libro de Excel.

API de C# para copiar hojas de cálculo de Excel

Para copiar hojas de trabajo en archivos de Excel, aprovecharemos las poderosas capacidades de manipulación de hojas de cálculo de Aspose.Cells for .NET. La API le proporciona una amplia gama de funciones para generar y procesar archivos de Excel desde sus aplicaciones .NET. Puede descargar los archivos binarios de la API o instalarlos mediante NuGet.

PM> Install-Package Aspose.Cells

Copie hojas de cálculo de Excel usando C#

Los siguientes son los pasos para copiar una hoja de cálculo de Excel dentro de un Workbook usando C#.

El siguiente ejemplo de código muestra cómo copiar una hoja de cálculo de Excel en un libro.

// Abrir un archivo de Excel existente
Workbook wb = new Workbook("workbook.xlsx");

// Cree un objeto WorksheetCollection con referencia a las hojas del Workbook
WorksheetCollection sheets = wb.Worksheets;

// Copie datos a una hoja nueva desde una hoja existente dentro del Workbook
sheets.AddCopy("Sheet1");

// Guarde el archivo de Excel
wb.Save("CopyWithinWorkbook.xlsx");

Copie hojas de cálculo de Excel de un Workbook a otro

Ahora, echemos un vistazo a cómo copiar una hoja de cálculo de un libro de Excel a otro. Los siguientes son los pasos para realizar esta operación.

El siguiente ejemplo de código muestra cómo copiar una hoja de trabajo de un libro a otro en C#.

// Archivo Excel de código abierto
Workbook sourceWorkbook = new Workbook("source.xlsx");

// Abrir archivo Excel de destino
Workbook destinationWorkbook = new Workbook("destination.xlsx");

// Copie la primera hoja del libro de origen en el libro de destino
destinationWorkbook.Worksheets[0].Copy(sourceWorkbook.Worksheets[0]);

// Guarde el archivo de Excel
destinationWorkbook.Save("copy-worksheets.xlsx");

Mover la hoja de trabajo de una posición a otra en C#

Podría darse el caso de que necesite reorganizar las posiciones de las hojas de trabajo en un Workbook. Puede hacerlo moviendo las hojas de trabajo a las posiciones deseadas especificando el índice. Los siguientes son los pasos para mover una hoja de cálculo de Excel de una posición a otra.

El siguiente ejemplo de código muestra cómo mover una hoja de cálculo de Excel de una posición a otra usando C#.

// Abrir un archivo de Excel existente
Workbook wb = new Workbook("workbook.xlsx");

// Cree un objeto WorksheetCollection con referencia a las hojas del Workbook
WorksheetCollection sheets = wb.Worksheets;

// Obtenga la primera hoja de trabajo.
Worksheet worksheet = sheets[0];

// Mover la primera hoja a la tercera posición en el Workbook
worksheet.MoveTo(2);

// Guarde el archivo de Excel
wb.Save("move-worksheet.xlsx");

Obtenga una licencia de API gratuita

Puede probar y evaluar Aspose.Cells for .NET de forma gratuita solicitando una licencia temporal.

Conclusión

En este artículo, aprendió cómo copiar hojas de cálculo de Excel dentro de un Workbook o de un Workbook a otro usando C#. Además, ha visto cómo mover una hoja de cálculo de Excel de una posición a otra dentro de un Workbook. Puede explorar otras características de Aspose.Cells for .NET utilizando la documentación. En caso de que tenga alguna consulta, no dude en publicarla en nuestro foro.

Ver también