actualizacion del excel

This commit is contained in:
DanielRamirezGe
2019-10-18 11:09:28 -05:00
parent 1a8bea0278
commit a71ea26f34
3 changed files with 307 additions and 30 deletions
+30 -29
View File
@@ -1,31 +1,32 @@
{
"name": "jornada-laboral-api",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "https://repositorio.acatlan.unam.mx/danielGe/jornada-laboral-api.git"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"bcryptjs": "^2.4.3",
"cors": "^2.8.5",
"email-check": "^1.1.0",
"email-validator": "^2.0.4",
"express": "^4.17.1",
"mysql-promise": "^5.0.0",
"pdfkit": "^0.10.0",
"promise-mysql": "^4.1.0",
"qr-image": "^3.2.0",
"qrcode-generator": "^1.4.4",
"validator": "^11.1.0",
"voilab-pdf-table": "^0.5.0",
"xlsx": "^0.15.1"
}
"name": "jornada-laboral-api",
"version": "1.0.0",
"description": "",
"main": "app.js",
"dependencies": {
"bcryptjs": "^2.4.3",
"cors": "^2.8.5",
"email-check": "^1.1.0",
"email-validator": "^2.0.4",
"exceljs": "^3.1.0",
"express": "^4.17.1",
"mysql-promise": "^5.0.0",
"pdfkit": "^0.10.0",
"promise-mysql": "^4.1.0",
"qr-image": "^3.2.0",
"qrcode-generator": "^1.4.4",
"validator": "^11.1.0",
"voilab-pdf-table": "^0.5.0",
"xlsx": "^0.15.1"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "https://repositorio.acatlan.unam.mx/danielGe/jornada-laboral-api.git"
},
"author": "",
"license": "ISC"
}
+276
View File
@@ -0,0 +1,276 @@
const connection = require('../conf/connection.js');
const express = require('express')
var app = express();
var Excel = require('exceljs');
function query(consulta) {
return new Promise(function(resolve, reject) {
connection.query(`${consulta}`, (error, results, files) => {
if (error) reject(error);
resolve(results);
});
})
}
app.get('/getexcel', async(req, res) => {
const workbook = new Excel.Workbook();
const worksheet = workbook.addWorksheet('Inscripcion');
const asis = workbook.addWorksheet('Asistencia');
let con = 1;
let data = [];
let aux = []
workbook.creator = 'Me';
workbook.lastModifiedBy = 'Her';
workbook.created = new Date();
workbook.modified = new Date();
workbook.lastPrinted = new Date();
workbook.views = [{
x: 0,
y: 0,
width: 10000,
height: 20000,
firstSheet: 0,
activeTab: 1,
visibility: 'visible'
}]
// aux[3] = element.sexo;
// aux[4] = element.edad;
// aux[5] = element.correo;
// aux[6] = element.gradoAcademico;
// aux[7] = element.nombrePrograma;
// aux[8] = element.semestre;
// aux[9] = element.promedio;
// aux[10] = element.titulado;
// aux[11] = element.recibir_info;
let encabezado = []
let nombre = "Nombre";
let apellido = "Apellidos"
let noCuenta = "No. Cuenta"
let sexo = "Sexo"
let edad = "Edad"
let correo = "Correo"
let grad = "Grado Academico"
let lic = "Nombre del Programa"
let sem = "Semestre"
let pro = "Promedio"
let tit = "Titulado"
let rec = "Recibir Informacion"
let ingles = "Nivel de Ingles"
encabezado.push(nombre);
encabezado.push(apellido);
encabezado.push(noCuenta);
encabezado.push(sexo);
encabezado.push(edad);
encabezado.push(correo);
encabezado.push(grad);
encabezado.push(lic);
encabezado.push(ingles);
encabezado.push(sem);
encabezado.push(pro);
encabezado.push(tit);
encabezado.push(rec);
encabezado.push("Incritos Conferencia: ")
encabezado.push(1);
encabezado.push(2);
encabezado.push(3);
encabezado.push(4);
encabezado.push(5);
encabezado.push(6);
encabezado.push(7);
encabezado.push(8);
encabezado.push(9);
encabezado.push(10);
encabezado.push(11);
encabezado.push(12);
encabezado.push(13);
worksheet.addRow(encabezado)
asis.addRow(encabezado)
let x;
try {
let consulta = `select * from persona where comunidad="acatlan";`;
x = await query(consulta);
// console.log(x);
} catch (error) {
//console.error('------');
//console.error(error);
res.status(400).json({ error: true, msj: "error al elegir la comunidad" });
return;
}
// console.log('1');
// console.log(data);
for (let index = 0; index < x.length; index++) {
// console.log("ppp", index);
let element = x[index];
// console.log(element);
cad = `select idConferencia from asistencia where idPersona=${element.idPersona};`
let altas;
try {
altas = await query(cad);
} catch (error) {
res.status(400).json({ error: true, msj: "error al elegir la inscripcion" });
return;
}
let entro;
let cad2 = `select idConferencia from asistencia where idPersona=${element.idPersona} and asistencia=1;`;
try {
entro = await query(cad2);
} catch {
res.status(400).json({ error: true, msj: "error al elegir la inscripcion" });
return;
}
let aux = [];
//console.log('-------');
//console.log(element.nombre);
// console.log(index);
// console.log(data);
aux.push(element.nombre);
aux.push(element.apellidos);
aux.push(element.noCuenta);
aux.push(element.sexo);
aux.push(element.edad);
aux.push(element.correo);
aux.push(element.gradoAcademico);
aux.push(element.nombrePrograma);
aux.push(element.nivelIngles);
aux.push(element.semestre);
aux.push(element.promedio);
if (element.titulado == 1)
aux.push("Si");
else
aux.push("No");
if (element.recibir_info == 1)
aux.push("Si");
else
aux.push("No");
let = ultimo = 13;
aux[ultimo] = ""
for (let x = 1; x <= 13; x++)
aux[ultimo + x] = 0;
altas.forEach(element => {
console.log(ultimo + element.idConferencia);
aux[ultimo + element.idConferencia] = 1;
});
// console.log("sakñalskdñalskda");
worksheet.addRow(aux)
aux[ultimo] = ""
for (let x = 1; x <= 13; x++)
aux[ultimo + x] = 0;
entro.forEach(element => {
console.log(ultimo + element.idConferencia);
aux[ultimo + element.idConferencia] = 1;
});
asis.addRow(aux)
//data.push(aux);
aux = [];
}
//console.log('kkkk');
//console.log(data);
worksheet.getCell('AD1').value = 'Catalogo de conferencia según su numero';
worksheet.getCell('AD2').value = "1"
worksheet.getCell('AD3').value = "2"
worksheet.getCell('AD4').value = "3"
worksheet.getCell('AD5').value = "4"
worksheet.getCell('AD6').value = "5"
worksheet.getCell('AD7').value = "6"
worksheet.getCell('AD8').value = "7"
worksheet.getCell('AD9').value = "8"
worksheet.getCell('AD10').value = "9"
worksheet.getCell('AD11').value = "10"
worksheet.getCell('AD12').value = "11"
worksheet.getCell('AD13').value = "12"
worksheet.getCell('AD14').value = "13"
worksheet.getCell('AE2').value = `"Competencias profesionales", ¿Qué busca los empleadores`
worksheet.getCell('AE3').value = `"Las prácticas profesionales, una puerta al mercado laboral"`
worksheet.getCell('AE4').value = `"Red profesional Linkedln"`
worksheet.getCell('AE5').value = `Taller, "Entrevista por Competencias"`
worksheet.getCell('AE6').value = `"¿Cómo tener una buena entrevista de trabajo? Antes, durante y después"`
worksheet.getCell('AE7').value = `"Aprendizaje-Servicio PALECH, Pedagogía para el Desarrollo del Servicio Social"`
worksheet.getCell('AE8').value = "13va Feria del Empleo y Servicio Social"
worksheet.getCell('AE9').value = `Taller "Elaboración del curriculum y herramientas asertivas durante un proceso de entrevista laboral"`
worksheet.getCell('AE10').value = `"¿Le temes al éxito? Egresados de Acatlán comparten su experiencia y recomendaciones para emplearte."`
worksheet.getCell('AE11').value = `Taller "Curriculum de impacto "`
worksheet.getCell('AE12').value = `"Creando perfiles humanos dentro de las organizaciones"`
worksheet.getCell('AE13').value = `"¿Conoces qué son las prestaciones y beneficios que ofertan las empresas?"`
worksheet.getCell('AE14').value = `"Puntos clave para el desarrollo de tu talento"`
asis.getCell('AD1').value = 'Catalogo de conferencia según su numero';
asis.getCell('AD2').value = "1"
asis.getCell('AD3').value = "2"
asis.getCell('AD4').value = "3"
asis.getCell('AD5').value = "4"
asis.getCell('AD6').value = "5"
asis.getCell('AD7').value = "6"
asis.getCell('AD8').value = "7"
asis.getCell('AD9').value = "8"
asis.getCell('AD10').value = "9"
asis.getCell('AD11').value = "10"
asis.getCell('AD12').value = "11"
asis.getCell('AD13').value = "12"
asis.getCell('AD14').value = "13"
asis.getCell('AE2').value = `"Competencias profesionales", ¿Qué busca los empleadores`
asis.getCell('AE3').value = `"Las prácticas profesionales, una puerta al mercado laboral"`
asis.getCell('AE4').value = `"Red profesional Linkedln"`
asis.getCell('AE5').value = `Taller, "Entrevista por Competencias"`
asis.getCell('AE6').value = `"¿Cómo tener una buena entrevista de trabajo? Antes, durante y después"`
asis.getCell('AE7').value = `"Aprendizaje-Servicio PALECH, Pedagogía para el Desarrollo del Servicio Social"`
asis.getCell('AE8').value = "13va Feria del Empleo y Servicio Social"
asis.getCell('AE9').value = `Taller "Elaboración del curriculum y herramientas asertivas durante un proceso de entrevista laboral"`
asis.getCell('AE10').value = `"¿Le temes al éxito? Egresados de Acatlán comparten su experiencia y recomendaciones para emplearte."`
asis.getCell('AE11').value = `Taller "Curriculum de impacto "`
asis.getCell('AE12').value = `"Creando perfiles humanos dentro de las organizaciones"`
asis.getCell('AE13').value = `"¿Conoces qué son las prestaciones y beneficios que ofertan las empresas?"`
asis.getCell('AE14').value = `"Puntos clave para el desarrollo de tu talento"`
// res.setHeader('Content-Type', 'application/vnd.openxmlformats');
// res.setHeader("Content-Disposition", "attachment; filename=" + "Report.xlsx");
// workbook.xlsx.write(res);
// res.end();
// res.attachment("jornada-laboral.xlsx")
// workbook.xlsx.write(res)
// .then(function() {
// res.end()
// });
res.attachment(__dirname + `/../public/jornada.xlsx`)
workbook
.xlsx
.write(res)
.then(() => {
res.end()
})
.catch((err) => {
res.status(400).json({ error: false, msj: "no se pudo descargar" });
});
//
return data;
})
module.exports = app
+1 -1
View File
@@ -12,5 +12,5 @@ app.use(require('./verificarConferencia'));
app.use(require('./cupo'));
app.use(require('./loginAdmin'));
app.use(require('./paseLista'));
//app.use(require('./get_excel'));
app.use(require('./getexcel'));
module.exports = app;