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

424
Visualizações
¿Cómo generar un archivo xlsx a través de Express con Exceljs y enviarlo al cliente?

Quiero separar los controladores y los servicios en mi aplicación Express, actualmente tengo un servicio que genera un archivo XLSX usando ExcelJS, quiero reutilizar el servicio, así que no quiero pasar el objeto de respuesta al servicio, ¿está ahí? una forma en que puedo devolver el archivo del servicio al controlador?

Ahora mismo tengo lo siguiente

 const generateXLSX = (res, data) => { let baseFile = "path/to/template.xlsx"; let wb = new Excel.Workbook(); wb.xlsx .readFile(baseFile) .then(async () => { // add data to template } await wb.xlsx.write(res); res.end(); }) .catch((err) => { console.log(err); res.status(500); }); };

En esta función, estoy usando el objeto de respuesta en el servicio, quiero saber si hay una forma de devolver el archivo sin usar write(res) y enviarlo al controlador.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Su función generateXLSX podría devolver una secuencia legible de "paso" que luego canaliza al objeto res . Algo como

 const {PassThrough} = require("stream"); function generateXLSX(data) { let baseFile = "path/to/template.xlsx"; let wb = new Excel.Workbook(); let readable = new PassThrough(); wb.xlsx .readFile(baseFile) .then(async function() { // add data to template await wb.xlsx.write(readable); readable.end(); }) .catch((err) => { readable.destroy(err); }); return readable; } app.use("/path", function(req, res) { generateXLSX(req.query.data).pipe(res); });
over 4 years ago · Santiago Trujillo 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