Acceder a la tabla desde Cell y agregar valores dentro de ella usando compensaciones de fila y columna
Normalmente, agrega valores dentro de la tabla o el objeto de lista usandoCell.PonerValor()método. Pero a veces, es posible que deba agregar valores dentro de la tabla o el objeto de lista utilizando los desplazamientos de fila y columna.
Para acceder a la tabla o lista de objetos desde una celda, use elCell.ObtenerTabla() método. Para agregar valores dentro de él usando los desplazamientos de fila y columna, use elListObject.PutCellValue método.
La siguiente captura de pantalla muestra el archivo fuente de Excel utilizado 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 usandoCell.ObtenerTabla() método y luego agregue los valores dentro de él usando ambosCell.PonerValor() yListObject.PutCellValuemétodos.
Ejemplo
Capturas de pantalla que comparan los archivos de origen y de salida
![]() |
---|
La siguiente captura de pantalla muestra el archivo de salida de Excel generado por el código. Como 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# código para acceder a la tabla desde la celda y agregar valores dentro de ella usando compensaciones de fila y columna
El siguiente código de ejemplo carga el archivo de origen de Excel como se muestra en la captura de pantalla anterior y agrega valores dentro de la tabla y genera el archivo de salida de Excel como se muestra arriba.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create workbook from source Excel file | |
Workbook workbook = new Workbook(dataDir + "source.xlsx"); | |
// Access first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Access cell D5 which lies inside the table | |
Cell cell = worksheet.Cells["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_out.xlsx"); |