Hola a todos!
Hace unos meses publiqué un post en el que mostraba los principales bucles o loops que podemos encontrarnos en typescript. En el ejemplo que realizaba estaba solo mostré el resultado de cada uno de ellos en el editor de typescript utilizando el depurador console.log().
Hoy he revisado el post y teniendo en cuenta una consulta que me han enviado he decidido ampliarlo en un aspecto, en pasar el resultado de cada loop nuestro libro de trabajo, en concreto la hoja1.
Para ello os dejo el código con cada uno de los casos:
function main(workbook: ExcelScript.Workbook) {
var arbol: string[] = new Array("Olmo", "Fresno", "Acacia")
var miHoja = workbook.getWorksheet("Hoja1");
var titulos = ["declaración for in", "declaración for", "declaración while", "declaración Do While", "declaración For Each"]
miHoja.getRange("A1:E1").setValues([titulos])
var sCadena = arbol.toString().split(',')
//declaración for in
for (var i in arbol)
miHoja.getCell(+i + 1, 0).setValues([
[sCadena[i]]
]);
//declaración for
for (var j = 0; j < arbol.length; j++) {
miHoja.getCell(j + 1, 1).setValues([
[sCadena[j]]
]);
}
//declaración while
var n = -1;
while (n < arbol.length) {
n++;
miHoja.getCell(n + 1, 2).setValues([
[sCadena[n]]
]);
}
//declaración Do While
var t = 0
do {
t += 1;
miHoja.getCell(t, 3).setValues([
[sCadena[t - 1]]
]);
}
while (t < arbol.length);
//declaración For Each
let nItem = 0;
arbol.forEach((miArbol) => {
nItem = nItem + 1
miHoja.getCell(nItem, 4).setValue(miArbol);
});
}
En cada loop tendremos que adaptar nuestro código de salida para la hoja, en los cuatro primeros utilizaremos la misma instrucción y en el último realizaremos una pequeña modificación para que funcione correctamente.

Como habéis podido ver en la imagen, se han generado todos los loops y hemos pasado la misma información a la hoja.
Y esto es todo, creo que así el post está mucho más completo!
¿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