Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

220
Views
Actualización de un valor específico en la fila con condiciones nodejs hoja de Google

He estado tratando de actualizar una fila existente con el mismo nombre, correo electrónico, etc. Mi problema es que no sé cómo agregar un número en el segundo WPM de prueba para el mismo usuario.

para ser más claros, el usuario envía un formulario y comienza la operación en la aplicación web, cuando finaliza la primera operación, los datos se envían a las hojas de Google y el usuario pasa a la segunda operación. Quiero enviar los datos de la segunda operación al usuario con el mismo nombre, correo electrónico.

antes despues

 app.post("/competition" , async (req, res) => { const {Name, Email, Number, Faculty, University, first_Trial_WPM , first_Trial_CPM} = req.body; const auth = new google.auth.GoogleAuth({ keyFile: "credentials.json", scopes: "https://www.googleapis.com/auth/spreadsheets", }); const client = await auth.getClient(); const googleSheets = google.sheets({version: "v4", auth: client}); const spreadsheetId = "###"; await googleSheets.spreadsheets.values.append({ auth, spreadsheetId, range: "Sheet1!A:G", valueInputOption: "USER_ENTERED", resource : { values: [ [Name, Email, Number, Faculty, University, first_Trial_WPM , first_Trial_CPM] ] } }) res.render("competition2"); }); app.post("/home" , async (req, res) => { const {Name, Email, Number, Faculty, University, second_Trial_WPM , second_Trial_CPM} = req.body; const auth = new google.auth.GoogleAuth({ keyFile: "credentials.json", scopes: "https://www.googleapis.com/auth/spreadsheets", }); const client = await auth.getClient(); const googleSheets = google.sheets({version: "v4", auth: client}); const spreadsheetId = "###"; await googleSheets.spreadsheets.values.update({ auth, spreadsheetId, range: "Sheet1!A2:I1000", valueInputOption: "USER_ENTERED", resource : { values: [ [Name, Email, Number, Faculty, University, second_Trial_WPM , second_Trial_CPM] ] } }) res.render('home'); });
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Creo que su objetivo es el siguiente.

  • Desea poner los valores en las columnas "H" e "I" buscando en las columnas "A" y "B".
  • Desea lograr esto usando googleapis para Node.js.

En este caso, ¿qué tal la siguiente modificación?

Guión modificado:

En esta modificación, modifique su segundo script para poner los valores de second_Trial_WPM y second_Trial_CPM de la siguiente manera. Esta secuencia de comandos modificada utiliza las variables Name y Email , second_Trial_WPM y second_Trial_CPM .

 const spreadsheetId = "###"; const range = "Sheet1"; const values = (await googleSheets.spreadsheets.values.get({spreadsheetId, range})).data; const rows = values.values.map(([a, b], i) => (a == Name && b == Email ? i + 1 : "")).filter(String); const data = rows.map((e) => ({values: [[second_Trial_WPM, second_Trial_CPM]], range: `'${range}'!H${e}`})); const res = await googleSheets.spreadsheets.values.batchUpdate({spreadsheetId, resource: {valueInputOption: "USER_ENTERED", data}});
  • En esta modificación, primero, los valores se recuperan de "Hoja1". Y recupere los números de fila para poner valores usando los valores de Name y Email . Y luego, second_Trial_WPM y second_Trial_CPM se colocan en las columnas "H" e "I" de la fila buscada.

  • Si se recuperan los mismos nombres en las columnas "A" y "B" de "Hoja1", los valores de second_Trial_WPM y second_Trial_CPM se colocan en esas filas.

Referencias:

  • Método: hojas de cálculo.valores.get
  • Método: hojas de cálculo.valores.batchUpdate
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!