Acceder a la tabla desde la celda y agregar valores dentro de ella usando desplazamientos de fila y columna con C++
Normalmente, agrega valores dentro de la Tabla u Objeto de Lista usando el método Cell.PutValue(). Pero a veces, es posible que necesite agregar valores dentro de la Tabla u Objeto de Lista usando los desplazamientos de fila y columna.
Para acceder a una Tabla u Objeto de Lista desde una celda, use el método Cell.GetTable(). Para agregar valores dentro usando desplazamientos de fila y columna, use el método ListObject.PutCellValue.
La siguiente captura de pantalla muestra el archivo Excel de origen utilizado en el código. Contiene la tabla vacía y resalta la celda D5 que se encuentra dentro de la tabla. Accederemos a esta tabla desde la celda D5 usando el método Cell.GetTable() y luego agregaremos los valores dentro usando los métodos Cell.PutValue() y ListObject.PutCellValue.
Ejemplo
Capturas de pantalla que comparan los archivos fuente y de salida
![]() |
---|
La siguiente captura de pantalla muestra el archivo de Excel de salida generado por el código. Como se puede ver, la celda D5 tiene un valor y la celda F6, que está en el desplazamiento 2,2 de la tabla, tiene un valor.
![]() |
---|
Código C++ para acceder a la tabla desde la celda y añadir valores usando desplazamientos de fila y columna
El siguiente código de ejemplo carga el archivo de Excel fuente como se muestra en la captura de pantalla anterior y agrega valores dentro de la tabla, y genera el archivo de Excel de salida como se muestra arriba.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Create workbook from source Excel file
Workbook workbook(srcDir + u"source.xlsx");
// Access first worksheet
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Access cell D5 which lies inside the table
Cell cell = worksheet.GetCells().Get(u"D5");
// Put value inside the cell D5
cell.PutValue(u"D5 Data");
// Access the Table from this cell
ListObject table = cell.GetTable();
// Add some value using Row and Column Offset
table.PutCellValue(2, 2, u"Offset [2,2]");
// Save the workbook
workbook.Save(outDir + u"output_out.xlsx");
std::cout << "Workbook saved successfully." << std::endl;
Aspose::Cells::Cleanup();
}