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

320
Visualizações
Descargue el archivo Google Sheets y lea los datos usando SheetJS en Node

Tengo una hoja de cálculo en Google Sheets que contiene algunos datos. Lo he publicado públicamente para poder descargar los datos como un archivo .xlsx usando una URL. Lo que quiero hacer es lo siguiente en Node:

  • Descargar el archivo desde la URL
  • Preparar el contenido como ArrayBuffer
  • Léalo usando SheetJS

La siguiente es la URL del archivo: enlace de Hojas de cálculo de Google .

Pasando por la biblioteca SheetJS, sé que necesito usar XLSX.read(data, opts) , pero parece que no puedo averiguar cómo hacerlo exactamente. Tengo el siguiente código hasta ahora:

 var https = require('https'); var fs = require('fs'); var XLSX = require("xlsx"); var fileURL = "https://docs.google.com/spreadsheets/d/e/2PACX-1vR9jv7gj6o0dtL0QoeHxW7Ux2fk0Br6slV3mg-uzZY6hc17Zw-_cXRz0-pilCeZx_lDzaRAo0tNfueT/pub?output=xlsx" // Somehow use the url to read the file using XLSX.read(data, opts) and store it in a variable called workbook var sheet1 = workbook.Sheets[workbook.SheetNames[0]] var sheet2 = workbook.Sheets[workbook.SheetNames[1]] console.log(XLSX.utils.sheet_to_json(sheet1)); console.log(XLSX.utils.sheet_to_json(sheet2));

¿Cómo hago esto realmente? Puedo trabajar con un archivo localmente perfectamente bien, pero con el enfoque de URL, estoy bastante perdido. ¡Cualquier ayuda es apreciada!

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

0

En su situación, ¿qué tal la siguiente modificación?

Guión modificado:

 const request = require("request"); const XLSX = require("xlsx"); const fileURL = "https://docs.google.com/spreadsheets/d/e/2PACX-1vR9jv7gj6o0dtL0QoeHxW7Ux2fk0Br6slV3mg-uzZY6hc17Zw-_cXRz0-pilCeZx_lDzaRAo0tNfueT/pub?output=xlsx"; request.get(fileURL, { encoding: null }, function (err, res, data) { if (err || res.statusCode != 200) { console.log(res.statusCode); return; } const buf = Buffer.from(data); const workbook = XLSX.read(buf); var sheet1 = workbook.Sheets[workbook.SheetNames[0]]; var sheet2 = workbook.Sheets[workbook.SheetNames[1]]; console.log(XLSX.utils.sheet_to_json(sheet1)); console.log(XLSX.utils.sheet_to_json(sheet2)); });
  • En esta modificación se utiliza el módulo de request .

Resultado:

Cuando se ejecuta este script, se obtiene el siguiente resultado.

 [ { Team: 'Manchester United' }, { Team: 'PSG' }, { Team: 'Barcelona' }, { Team: 'Real Madrid' }, { Team: 'Juventus' } ] [ { Name: 'Ronaldo', Age: 37 }, { Name: 'Messi', Age: 34 }, { Name: 'Neymar', Age: 30 } ]
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