Acceder a Tabla desde Celda y Agregar Valores en su Interior usando Desplazamientos de Fila y Columna
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 la Tabla u Objeto de Lista desde una celda, use el método Cell.getTable(). Y para agregar valores dentro de ella usando los desplazamientos de fila y columna, use el método ListObject.putCellValue(rowOffset,columnOffset,value).
Ejemplo
Capturas de pantalla que comparan los archivos fuente y de salida
La siguiente captura de pantalla muestra el archivo de Excel fuente usado dentro del 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 de ella usando los métodos Cell.putValue() y ListObject.putCellValue(rowOffset,columnOffset,value).

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 Java para acceder a tabla desde celda y para agregar valores en su interior 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.
| // For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
| // The path to the documents directory. | |
| String dataDir = "./"; | |
| // Create workbook from source Excel file | |
| Workbook workbook = new Workbook(dataDir + "source.xlsx"); | |
| // Access first worksheet | |
| Worksheet worksheet = workbook.getWorksheets().get(0); | |
| // Access cell D5 which lies inside the table | |
| Cell cell = worksheet.getCells().get("D5"); | |
| // Put value inside the cell D5 | |
| cell.putValue("D5 Data"); | |
| // Access the Table from this cell | |
| ListObject table = cell.getTable(); | |
| // Add some value using Row and Column Offset | |
| table.putCellValue(2, 2, "Offset [2,2]"); | |
| // Save the workbook | |
| workbook.save(dataDir + "output.xlsx"); |