const connection = require('../conf/connection.js'); const express = require('express'); const fs = require('fs'); var app = express() const Excel = require('exceljs'); var path = require('path'); function query(consulta) { return new Promise(function(resolve, reject) { connection.query(`${consulta}`, (error, results, files) => { if (error) reject(error); resolve(results); }); }) } app.get('/getExcelInscritos', async(req, res) => { try{ const workbook = new Excel.Workbook(); const worksheet = workbook.addWorksheet('Datos alumno'); let encabezados = []; encabezados.push("Nombre"); encabezados.push("Apellido Paterno"); encabezados.push("Apellido Materno"); encabezados.push("Correo"); encabezados.push("Telefono"); encabezados.push("Comunidad"); encabezados.push("Institucion"); encabezados.push("CURP"); encabezados.push("Situación academica"); encabezados.push("Grado Academico"); encabezados.push("Participacion"); encabezados.push("Codigo Grupal"); encabezados.push("Total a pagar"); await worksheet.addRow(encabezados) let sqlString = `SELECT * FROM persona WHERE validarPago = true order by participacion;`; let pagados = await query(sqlString); for(let item in pagados){ let rowPersona = []; rowPersona.push(pagados[item].nombre); rowPersona.push(pagados[item].apellidoPaterno); rowPersona.push(pagados[item].apellidoMaterno); rowPersona.push(pagados[item].correo); rowPersona.push(pagados[item].telefono); rowPersona.push(pagados[item].comunidad); rowPersona.push(pagados[item].institucion); rowPersona.push(pagados[item].curp); rowPersona.push(pagados[item].situacionAcademica); rowPersona.push(pagados[item].gradoAcademico); rowPersona.push(pagados[item].participacion); rowPersona.push(pagados[item].codigoGrupal); rowPersona.push(pagados[item].totalPagar); await worksheet.addRow(rowPersona); } res.attachment(path.join('./public', `Inscritos.xlsx`)); workbook.xlsx.write(res).then( ()=>{ res.end(); }).catch(error =>{ console.log(`error desc: ${error}`); res.status(400).json({ error: false, msj: "no se pudo descargar" }); }) } catch(error){ console.log(`error desc: ${error}`); res.status(400).json({ error: false, msj: "no se pudo descargar" }); } /* for (let i = 0; i < data.alumno.length; i++) { let d = data.alumno[i]; let a = []; console.log(d); a.push(d.nombre); a.push(d.apellido_p); a.push(d.apellido_m); a.push(d.correo); a.push(d.comunidad); a.push(d.conversatorio_asistente); a.push(d.conversatorio_ponente); a.push(d.magistral_1); a.push(d.magistral_2); a.push(d.taller); a.push(d.visita); a.push(d.tipo_pago); a.push(d.pago); a.push(d.rfc) a.push(d.domicilio); a.push(d.f_telefono); a.push(d.f_correo); /*aux.rfc='No_registrado'; aux.domicilio='No_registrado'; aux.f_telefono='No_registrado'; aux.f_correo='No_registrado'; worksheet.addRow(a); } enc = []; worksheet.addRow(enc); enc = []; worksheet.addRow(enc); enc = []; worksheet.addRow(enc); enc.push(""); enc.push(""); enc.push(""); enc.push("Academico"); worksheet.addRow(enc); enc = []; enc.push("Nombre"); enc.push("Apellido Paterno"); enc.push("Apellido Materno"); enc.push("Correo"); enc.push("Comunidad"); enc.push("Conversatorio Asistente"); enc.push("Conversatorio Ponente"); enc.push("Diálogo magistral 1"); enc.push("Diálogo magistral 2"); enc.push("Taller"); enc.push("Ruta"); enc.push("Tipo de Pago"); enc.push("Total de Pago"); enc.push("RFC"); enc.push("Domicilio para la factura"); enc.push("Telefono para la factura"); enc.push("Correo para la factura"); worksheet.addRow(enc); for (let i = 0; i < data.academico.length; i++) { let d = data.academico[i]; let a = []; console.log(d); a.push(d.nombre); a.push(d.apellido_p); a.push(d.apellido_m); a.push(d.correo); a.push(d.comunidad); a.push(d.conversatorio_asistente); a.push(d.conversatorio_ponente); a.push(d.magistral_1); a.push(d.magistral_2); a.push(d.taller); a.push(d.visita); a.push(d.tipo_pago); a.push(d.pago); a.push(d.rfc) a.push(d.domicilio); a.push(d.f_telefono); a.push(d.f_correo); worksheet.addRow(a); } res.attachment(__dirname + `/../public/ASINEA-2020.xlsx`) workbook .xlsx .write(res) .then(() => { res.end() }) .catch((err) => { res.status(400).json({ error: false, msj: "no se pudo descargar" }); }*/ }); module.exports = app;