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
- Insertar filas en una hoja de cálculo de Excel usando C++
- Insertar columnas en una hoja de cálculo de Excel usando C++
- Eliminar filas de una hoja de cálculo de Excel usando C++
- Eliminar columnas de una hoja de cálculo de Excel usando C++
- Obtenga una licencia gratis
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.
Los siguientes son los pasos para insertar filas en una hoja de cálculo de Excel.
- En primer lugar, cargue el archivo de Excel utilizando la clase IWorkbook.
- Obtenga la instancia de la hoja de trabajo donde desea insertar las filas usando el método IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Inserte las filas usando el método IWorksheet->GetICells()->InsertRows ( Aspose::Cells::Systems::Int32 rowIndex, Aspose::Cells::Systems::Int32 totalRows).
- Finalmente, guarde el archivo de Excel usando IWorkbook->Save (intrusive\ptrAspose::Cells::Systems::String nombre de archivo) método.
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);
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.
- En primer lugar, cargue el archivo de Excel utilizando la clase IWorkbook.
- Obtenga la instancia de la hoja de trabajo donde desea insertar las columnas usando el método IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Inserte las columnas usando el método IWorksheet->GetICells()->InsertColumns ( Aspose::Cells::Systems::Int32 columnIndex, Aspose::Cells::Systems::Int32 totalColumns).
- Finalmente, guarde el archivo de Excel usando IWorkbook->Save (intrusive\ptrAspose::Cells::Systems::String nombre de archivo) método.
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);
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.
- En primer lugar, cargue el archivo de Excel utilizando la clase IWorkbook.
- Obtenga la instancia de la hoja de cálculo de la que desea eliminar las filas mediante el método IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Elimine las filas usando el método IWorksheet->GetICells()->DeleteRows ( Aspose::Cells::Systems::Int32 rowIndex, Aspose::Cells::Systems::Int32 totalRows, bool updateReference).
- Finalmente, guarde el archivo de Excel usando IWorkbook->Save (intrusive\ptrAspose::Cells::Systems::String nombre de archivo) método.
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);
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.
- En primer lugar, cargue el archivo de Excel utilizando la clase IWorkbook.
- Obtenga la instancia de la hoja de trabajo desde donde desea eliminar las columnas usando el método IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Elimine las columnas usando el método IWorksheet->GetICells()->DeleteColumns ( Aspose::Cells::Systems::Int32 columnIndex, Aspose::Cells::Systems::Int32 totalColumns, bool updateReference).
- Finalmente, guarde el archivo de Excel usando IWorkbook->Save (intrusive\ptrAspose::Cells::Systems::String nombre de archivo) método.
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);
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.