Hola a todos,
Hoy sigo con las tablas dinámicas en Excel Online y con Typescript. Siguiendo con el mismo ejemplo de ayer voy a trabajar con siguiente tabla dinámica:
![](https://i0.wp.com/excelsignum.com/wp-content/uploads/2023/04/AUTOMATIZAR-FILTRO-MANUAL-EN-UNA-TABLA-DINAMICA-CON-TYPESCRIPT2.png?resize=965%2C867&ssl=1)
En este ejercicio la tarea trata de iterar en la columna SECCION de la tabla dinámica y obtener el nombre de todos los ítems que la componen, es decir: PAPELERIA, PARAFARMACIA, etc.
Para ello nos vamos a servir de este código que he programado:
function main(workbook: ExcelScript.Workbook) {
var miHoja = workbook.getWorksheet("Hoja2");
// Obtenemos la tabla dinámica del libro de Excel
var pivot = workbook.getPivotTable("Tabla dinámica1");
// Obtenemos los elementos de la primera columna de la tabla dinámica
var filas = pivot.getRowHierarchy("SECCION");
var columnSelect = filas.getPivotField("SECCION").getItems();
var cont = 1
//iteramos a través de todos los elementos y extraemos el nombre
columnSelect.forEach(item => {
cont = cont + 1
//vamos pasando los datos a la hoja y a la consola
miHoja.getCell(cont + 1, 2).setValues([
[`Valor de la fila ` + (cont + 2) + ` es: ${item.getName()}`]
]);
console.log(`Valor de la fila ` + (cont + 2) + ` es: ${item.getName()}`);
});
}
Ahora, en el momento que lo ejecutemos, pasaremos los valores a la hoja2 en la columna C y también en el editor.
Este será el resultado:
![](https://i0.wp.com/excelsignum.com/wp-content/uploads/2023/04/OBTENER-NOMBRE-DE-LOS-ITEMS-DE-UNA-COLUMNA-EN-UNA-TABLA-DINAMICA-CON-TYPESCRIPT2.png?resize=1024%2C593&ssl=1)
Y esto es todo, espero que os haya parecido interesante!!
¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.
¡¡Muchas gracias!!
Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies