Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

529
Vistas
Script de hojas de Google: no se puede obtener el color de fondo de las celdas que forman parte de la tabla dinámica

He escrito el siguiente código que replica una tabla dinámica de Google Sheets en HTML junto con el formato para enviar en un correo electrónico.

problema: getBackgrounds() no devuelve los colores de las celdas de la tabla dinámica (siempre devuelve #FFFFF). Verifiqué que el rango sea correcto, porque la tabla se representa con la cantidad correcta de filas y columnas junto con los valores de los datos. Sin embargo, sin estilo. Además, si el color de una celda se cambia manualmente en la interfaz de usuario de Sheets antes de ejecutar el script, getBackgrounds() obtendrá ese color. ¿Cómo puedo recuperar el formato de la tabla dinámica?

código:

 function getData(){ let ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("TCD").getRange(5,1).getDataRegion(); let background = ss.getBackgrounds(); let val = ss.getDisplayValues(); let fontColor = ss.getFontColors(); let fontStyles = ss.getFontStyles(); let fontWeight = ss.getFontWeights(); let fontSize = ss.getFontSizes(); return [val,background,fontColor,fontStyles,fontWeight,fontSize]; } function setupEmail(attachment, sendBool) { let ss_data = getData(); let data = ss_data[0]; let background = ss_data[1]; let fontColor = ss_data[2]; let fontStyles = ss_data[3]; let fontWeight = ss_data[4]; let fontSize = ss_data[5]; html += "<table border='1' style=\"background-color:#000000;\">"; for (let i = 0; i < data.length; i++) { html += "<tr>" for (let j = 0; j < data[i].length; j++) { html += "<td style=\"height:20px;background-color:" + background[i][j] + "; color: " + fontColor[i][j] + "; font-style: " + fontStyles[i][j] + "; font-weight: " + fontWeight[i][j] + "; font-size: " + (fontSize[i][j] + 6) + "px; text-align: center;\">" + data[i][j] + "</td>"; Logger.log(background[i][j]); } html += "</tr>"; } html + "</table>"

EDITAR: he solucionado esto codificando el color de fondo. Si alguien sabe por qué no se pueden devolver los colores de fondo de una tabla dinámica, contribuya.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda