Copiar filas y columnas es una tarea común que se realiza al trabajar con archivos de Excel. Puede haber situaciones en las que necesite copiar filas o columnas en archivos de Excel mediante programación. Para tales casos, este artículo le enseñará cómo copiar filas y columnas en archivos de Excel usando C++.
- API de C++ para copiar filas y columnas en archivos de Excel
- Copie una sola fila en un archivo de Excel usando C++
- Copiar varias filas en un archivo de Excel usando C++
- Copie una sola columna en un archivo de Excel usando C++
- Copiar varias columnas en un archivo de Excel usando C++
API de C++ para copiar filas y columnas en archivos de Excel
Aspose.Cells for C++ es una biblioteca nativa de C++ que le permite crear, leer y modificar archivos de Excel sin necesidad de instalar Microsoft Excel. La API también brinda la capacidad de copiar filas y columnas en archivos de Excel. Puede instalar la API a través de NuGet o descargarla directamente desde la sección Descargas.
PM> Install-Package Aspose.Cells.Cpp
Copie una sola fila en un archivo de Excel usando C++
La siguiente es la imagen del archivo fuente de Excel que usaremos en los siguientes ejemplos.
Los siguientes son los pasos para copiar una sola fila en un archivo de Excel usando C++.
- Cargue el archivo de Excel usando la clase IWorkbook.
- Recupere la hoja de trabajo donde desea copiar la fila.
- Copie la fila usando CopyIRow(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceRowIndex, Aspose::Cells::Systems::Int32 destinationRowIndex) método.
- Guarde el archivo de Excel usando IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String nombre de archivo) método.
El siguiente código de ejemplo muestra cómo copiar una fila en un archivo de Excel usando C++.
// Ruta del directorio de origen.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// Ruta del directorio de salida.
StringPtr outDir = new String("OutputDirectory\\");
// Cargue el archivo de Excel de entrada
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// Obtener la primera hoja de trabajo
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Copiar fila
worksheet->GetICells()->CopyIRow(worksheet->GetICells(), 1, 15);
// Guarde el archivo de Excel
workbook->Save(outDir->StringAppend(new String("CopyRow_out.xlsx")));
Copiar varias filas en un archivo de Excel usando C++
Para copiar varias filas, utilizaremos el método CopyIRows que acepta un parámetro adicional que indica el número total de filas que se copiarán. Para copiar varias filas, siga los pasos que se indican a continuación.
- Cargue el archivo de Excel usando la clase IWorkbook.
- Recupere la hoja de trabajo donde desea copiar las filas.
- Copie las filas usando CopyIRows(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceRowIndex, Aspose::Cells::Systems::Int32 destinationRowIndex, Aspose::Cells::Systems::Int32 rowNumber) método.
- Guarde el archivo de Excel usando IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String nombre de archivo) método.
El siguiente código de ejemplo muestra cómo copiar varias filas en un archivo de Excel usando C++.
// Ruta del directorio de origen.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// Ruta del directorio de salida.
StringPtr outDir = new String("OutputDirectory\\");
// Cargue el archivo de Excel de entrada
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// Obtener la primera hoja de trabajo
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Copiar filas
worksheet->GetICells()->CopyIRows(worksheet->GetICells(), 1, 15, 3);
// Guarde el archivo de Excel
workbook->Save(outDir->StringAppend(new String("CopyRows_out.xlsx")));
Copie una sola columna en un archivo de Excel usando C++
Los siguientes son los pasos para copiar una sola columna en un archivo de Excel usando C++.
- Cargue el archivo de Excel usando la clase IWorkbook.
- Recupere la hoja de trabajo donde desea copiar la columna.
- Copie la columna usando CopyIColumn(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceColumnIndex, Aspose::Cells::Systems::Int32 destinationColumnIndex) método.
- Guarde el archivo de Excel usando IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String nombre de archivo) método.
El siguiente código de ejemplo muestra cómo copiar una sola columna en un archivo de Excel usando C++.
// Ruta del directorio de origen.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// Ruta del directorio de salida.
StringPtr outDir = new String("OutputDirectory\\");
// Cargue el archivo de Excel de entrada
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// Obtener la primera hoja de trabajo
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Copiar columna
worksheet->GetICells()->CopyIColumn(worksheet->GetICells(), 0, 6);
// Guarde el archivo de Excel
workbook->Save(outDir->StringAppend(new String("CopyColumn_out.xlsx")));
Copiar varias columnas en un archivo de Excel usando C++
Para copiar varias columnas, utilizaremos el método CopyIColumns que acepta un parámetro adicional que indica el número total de columnas que se copiarán. Para copiar varias columnas, siga los pasos que se indican a continuación.
- Cargue el archivo de Excel usando la clase IWorkbook.
- Recupere la hoja de trabajo donde desea copiar las columnas.
- Copie las columnas usando CopyIColumns(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceColumnIndex, Aspose::Cells::Systems::Int32 destinationColumnIndex, Aspose::Cells::Systems::Int32 columnNumber) método.
- Guarde el archivo de Excel usando IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String nombre de archivo) método.
El siguiente código de ejemplo muestra cómo copiar varias columnas en un archivo de Excel usando C++.
// Ruta del directorio de origen.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// Ruta del directorio de salida.
StringPtr outDir = new String("OutputDirectory\\");
// Cargue el archivo de Excel de entrada
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// Obtener la primera hoja de trabajo
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Copiar columnas
worksheet->GetICells()->CopyIColumns(worksheet->GetICells(), 0, 6, 3);
// Guarde el archivo de Excel
workbook->Save(outDir->StringAppend(new String("CopyColumns_out.xlsx")));
Obtenga una licencia gratis
Para probar la API sin limitaciones de evaluación, puede solicitar una licencia temporal gratuita.
Conclusión
En este artículo, ha aprendido a copiar filas y columnas en un archivo de Excel usando C++. Los ejemplos de código compartido muestran cómo copiar filas y columnas únicas y múltiples en un archivo de Excel. Usamos la API Aspose.Cells for C++ para lograr esto. Es una API robusta que proporciona muchas funciones adicionales para trabajar con archivos de Excel. Puede explorar la API en detalle visitando la documentación oficial. Si tiene alguna consulta, no dude en comunicarse con nosotros en nuestro foro de soporte gratuito.