Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

103
Visualizações
¿Cómo extraigo datos de ciertas columnas en AppScript?

Estoy intentando recuperar algunos datos de una hoja de cálculo de Google en un archivo independiente de AppScript.

Intenté con este fragmento de código, pero definitivamente está incompleto. Me lanza este error:

 TypeError: Cannot read property 'getDataRange' of undefined

Mi función:

 var sheet=SpreadsheetApp.openById('1n2a5iecKo7seMXcef81V_pxWSRjE4agQ9DSoROtf0').getSheets()[0] function getColumnId(sheet, namecol) { var data = sheet.getDataRange().getValues(); var col = data[0].findIndex((name) => name === namecol) + 1; return col; }

Después de extraer los datos de la columna, quiero almacenar esos datos en una lista normal:

 var IDCol=getcolumnId(sheet, 'ID') var AFCol=getcolumnId(sheet, 'AF')

¿Es eso posible de esta manera? Haría depuración pero no sé cómo proceder primero con mi función.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Creo que su objetivo es el siguiente.

  • Desea recuperar los valores de una columna mediante la función getColumnId(sheet, namecol) .

Puntos de modificación:

  • El nombre de su función es getColumnId . Pero está intentando llamar a la función con getcolumnId . Creo que se produce un error.
  • var sheet=DriveApp.getFileById('1n2a5ieOMcKo7seMXcef81V_pxWSRjE4agQ9DSoROtf0').getBlob() es Blob. En su secuencia de comandos, se produce un error en var data = sheet.getDataRange().getValues() .
  • Para recuperar los valores de la columna, creo que es necesario recuperar los valores usando el valor de col . Para esto

Guión modificado:

 function getColumnId(sheet, namecol) { var data = sheet.getDataRange().getValues(); var col = data[0].findIndex((name) => name === namecol); var transpose = data[0].map((_, c) => data.map(r => r[c])); // Here, "data" is transposed. return transpose[col]; } // Please run this function. function sample() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); // Please set the sheet name. var IDCol = getColumnId(sheet, 'ID') var AFCol = getColumnId(sheet, 'AF') console.log(IDCol) console.log(AFCol) }

Cuando se ejecuta este script modificado, los valores de las columnas con los valores de encabezado de ID y AF .

Referencia:

  • mapa()

Adicional:

De su siguiente respuesta y su pregunta actualizada,

Hola Tanaike, definitivamente usaré tu enfoque mapeando los valores como dijiste. Pero antes que nada, necesito leer los datos de gsheet correctamente. Consulte mi edición y se genera el error. Mi código no está ubicado en la hoja de cálculo de Google, sino en un archivo independiente en AppsScript

Intenté con este fragmento de código, pero definitivamente está incompleto. Me lanza este error:

TypeError: Cannot read property 'getDataRange' of undefined

Si intenta ejecutar directamente la función getColumnId(sheet, namecol) mediante el editor de secuencias de comandos, se produce un error de este tipo porque sheet no está definida. Pensé que esta podría ser la razón de su problema actual. A partir de esta situación, pensé que podría querer usar sheet , IDCol y AFCol como la variable global. Si mi comprensión es correcta, ¿qué tal el siguiente script de muestra?

Guión de muestra:

 var sheet = SpreadsheetApp.openById('###').getSheets()[0]; function getColumnId(sheet, namecol) { var data = sheet.getDataRange().getValues(); var col = data[0].findIndex((name) => name === namecol); var transpose = data[0].map((_, c) => data.map(r => r[c])); return transpose[col]; } var IDCol = getColumnId(sheet, 'ID') var AFCol = getColumnId(sheet, 'AF') // Please run this function. function myFunction() { console.log(IDCol) console.log(AFCol) }
  • En esta función, cuando se ejecuta myFunction , puede ver los valores en el registro.
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda