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
- Copiar hojas de trabajo dentro de un libro de Excel
- Copie hojas de trabajo de un Workbook a otro
- Mover hojas de trabajo de una posición a otra
- Obtenga una licencia de API gratuita
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#.
- Cargue el archivo de Excel usando la clase Workbook.
- Recupere hojas de trabajo en un objeto WorksheetCollection de la propiedad Workbook.Worksheets.
- Use el método WorksheetCollection.AddCopy(string) para copiar la hoja de trabajo proporcionando su nombre.
- Guarde el Workbook actualizado usando el método Workbook.Save(string).
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.
- Cree un objeto de la clase Workbook y cargue el archivo de origen de Excel.
- Cree otro objeto de la clase Workbook y cargue el archivo de Excel de destino.
- Copie la hoja de trabajo del Workbook de origen al de destino usando el método destinationWorkbook.Worksheets[int].Copy(sourceWorkbook.Worksheets[int]).
- Guarde el Workbook de destino usando el método Workbook.Save(string).
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.
- Cargue el archivo de Excel usando la clase Workbook.
- Recupere hojas de trabajo en un objeto WorksheetCollection usando la propiedad Workbook.Worksheets.
- Acceda a la hoja de trabajo deseada de la colección de hojas de trabajo en un objeto Worksheet.
- Use el método Worksheet.MoveTo(int) para mover la hoja de trabajo al índice especificado.
- Guarde el Workbook actualizado usando el método Workbook.Save(string).
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.