Insertar y eliminar filas y columnas en Excel usando C++

MS Excel le ofrece muchas funciones para trabajar con archivos de Excel. Una de las operaciones básicas que puedes hacer es insertar o eliminar filas y columnas. Es posible que se encuentre en situaciones en las que necesite insertar o eliminar filas y columnas mientras manipula archivos de Excel mediante programación. A la luz de eso, este artículo le enseñará cómo insertar y eliminar filas y columnas en hojas de cálculo de Excel usando C++.

API de C++ para insertar y eliminar filas y columnas en Excel

Aspose.Cells for C++ es una biblioteca nativa de C++ que le permite crear, leer y actualizar archivos de Excel sin necesidad de instalar Microsoft Excel. La API también admite la inserción y eliminación de filas y columnas en hojas de cálculo 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

Insertar filas en una hoja de cálculo de Excel usando C++

La siguiente es la imagen del archivo de muestra que manipularemos en este artículo.

Archivo de muestra utilizado en los ejemplos

Archivo de muestra utilizado en los ejemplos

Los siguientes son los pasos para insertar filas en una hoja de cálculo de Excel.

El siguiente código de ejemplo muestra cómo insertar filas en una hoja de cálculo de Excel mediante C++.

// Ruta del directorio de origen.
StringPtr srcDir = new String("SourceDirectory\\");

// 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")));

// Acceda a la primera hoja de trabajo en el archivo de Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Inserte 2 filas en la hoja de trabajo en la 3ra posición
worksheet->GetICells()->InsertRows(2, 2);

// Ruta del archivo de salida de Excel
StringPtr outputInsertRows = outDir->StringAppend(new String("outputInsertRows.xlsx"));

// Guarde el archivo de Excel.
workbook->Save(outputInsertRows);
Salida generada por el código de muestra

Salida generada por el código de muestra

Insertar columnas en una hoja de cálculo de Excel usando C++

Los siguientes son los pasos para insertar columnas en una hoja de cálculo de Excel.

El siguiente código de ejemplo muestra cómo insertar columnas en una hoja de cálculo de Excel mediante C++.

// Ruta del directorio de origen.
StringPtr srcDir = new String("SourceDirectory\\");

// 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")));

// Acceda a la primera hoja de trabajo en el archivo de Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Inserte 2 columnas en la hoja de trabajo en la segunda posición
worksheet->GetICells()->InsertColumns(1, 2);

// Ruta del archivo de salida de Excel
StringPtr outputInsertColumns = outDir->StringAppend(new String("outputInsertColumns.xlsx"));

// Guarde el archivo de Excel.
workbook->Save(outputInsertColumns);
Salida generada por el código de muestra

Salida generada por el código de muestra

Eliminar filas de una hoja de cálculo de Excel usando C++

Los siguientes son los pasos para eliminar filas de una hoja de cálculo de Excel.

El siguiente código de ejemplo muestra cómo eliminar filas de una hoja de cálculo de Excel mediante C++.

// Ruta del directorio de origen.
StringPtr srcDir = new String("SourceDirectory\\");

// 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")));

// Acceda a la primera hoja de trabajo en el archivo de Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Eliminar 2 filas a partir de la 3ra fila
worksheet->GetICells()->DeleteRows(2, 2, true);

// Ruta del archivo de salida de Excel
StringPtr outputDeleteRows = outDir->StringAppend(new String("outputDeleteRows.xlsx"));

// Guarde el archivo de Excel.
workbook->Save(outputDeleteRows);
Salida generada por el código de muestra

Salida generada por el código de muestra

Eliminar columnas de una hoja de cálculo de Excel usando C++

Los siguientes son los pasos para eliminar columnas de una hoja de cálculo de Excel.

El siguiente código de ejemplo muestra cómo eliminar columnas de una hoja de cálculo de Excel mediante C++.

// Ruta del directorio de origen.
StringPtr srcDir = new String("SourceDirectory\\");

// 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")));

// Acceda a la primera hoja de trabajo en el archivo de Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Elimine 2 columnas de la hoja de trabajo comenzando en la 2da posición
worksheet->GetICells()->DeleteColumns(1, 2, true);

// Ruta del archivo de salida de Excel
StringPtr outputDeleteColumns = outDir->StringAppend(new String("outputDeleteColumns.xlsx"));

// Guarde el archivo de Excel.
workbook->Save(outputDeleteColumns);
Salida generada por el código de muestra

Salida generada por el código de muestra

Obtenga una licencia gratis

Puede probar la API sin limitaciones de evaluación solicitando una licencia temporal gratuita.

Conclusión

En este artículo, ha aprendido a insertar y eliminar filas y columnas en una hoja de cálculo de Excel utilizando C++. Aspose.Cells for C++ es una gran API que proporciona un montón de funciones adicionales para automatizar sus tareas relacionadas con Excel. Puede explorar la API en detalle visitando la documentación oficial. Si tiene alguna pregunta, no dude en comunicarse con nosotros en nuestro foro de soporte gratuito.

Ver también