Advertisement
Guest User

UploadController

a guest
Jul 14th, 2019
337
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import { Request, Response, NextFunction } from 'express';
  2. import pool from '../database';
  3. import helper from '../lib/helpers';
  4. import { Estudiante } from '../models/Estudiante';
  5. import { Usuario } from '../models/Usuario';
  6. import passport from 'passport';
  7. const IncomingForm = require('formidable').IncomingForm;
  8. import fs from 'fs-extra';
  9. import xlsx from 'xlsx';
  10.  
  11. class uploadController {
  12.  
  13.   stringPath: string = 'nah';
  14.  
  15.  
  16.  
  17.   public secciones(seccion: string) {
  18.     var sec = seccion.split('-')[0];
  19.     switch (sec) {
  20.       case "10":
  21.         return "1";
  22.       case "11":
  23.         return "2";
  24.       case "12":
  25.         return "3";
  26.     }
  27.   };
  28.  
  29.   public especialidad(esp: string) {
  30.     var espec = esp.split(" ")[0];
  31.     switch (espec) {
  32.       case "Accounting":
  33.         return "1";
  34.       case "InformΓ‘tica":
  35.         return "2";
  36.       case "Turismo":
  37.         return "3";
  38.       case "Contabilidad":
  39.         return "4";
  40.       case "Secretariado":
  41.         return "5";
  42.       case "Ejecutivo":
  43.         return "6";
  44.       case "Productividad":
  45.         return "7";
  46.     }
  47.   };
  48.  
  49.   public insertaPersonas(path: string) {
  50.     console.log('entre');
  51.     const workbook = xlsx.readFile(path);
  52.     const sheet = workbook.SheetNames[0];
  53.     var worksheet = workbook.Sheets[sheet];
  54.  
  55.  
  56.     for (let i = 7; i < 500; i++) {
  57.       var aux = 'A' + i.toString();
  58.       var auxAp1 = 'B' + i.toString();
  59.       var auxAp2 = 'C' + i.toString();
  60.       var auxNom = 'D' + i.toString();
  61.       var auxSec = 'E' + i.toString();
  62.       var auxEsp = 'F' + i.toString();
  63.       var celda = worksheet[aux];
  64.       var celdaNom = worksheet[auxNom];
  65.       var celdaAp1 = worksheet[auxAp1];
  66.       var celdaAp2 = worksheet[auxAp2];
  67.       var celdaSec = worksheet[auxSec];
  68.       var celdaEsp = worksheet[auxEsp];
  69.  
  70.       if (celda == null || celdaNom == null || celdaAp1 == null || celdaAp2 == null ||
  71.         celdaSec == null || celdaEsp == null) {
  72.         console.log('Fin');
  73.         break;
  74.       } else {
  75.         console.log(celda.v + ' ' + celdaNom.v + ' ' +
  76.           celdaAp1.v + ' ' + celdaAp2.v + ' ' + celdaSec.v + ' ' +
  77.           celdaEsp.v);
  78.  
  79.         //var str = celdaNom.v + ' ' + celdaAp1.v + ' ' + celdaAp2.v;
  80.         //console.log(str);
  81.  
  82.         //console.log(secciones(celdaSec.v));
  83.  
  84.         //console.log(especialidad(celdaEsp.v));
  85.  
  86.       }
  87.  
  88.     }
  89.   };
  90.  
  91.   subirArchivo(req: Request, res: Response) {
  92.     var form = new IncomingForm();
  93.     let readStream;
  94.     var self = this;
  95.     this.insertaPersonas('a');
  96.  
  97.     form.parse(req);
  98.     form.on('file', (field: any, file: any) => {
  99.       // Do something with the file
  100.       // e.g. save it to the database
  101.       // you can access it using file.path
  102.       console.log('file', file.name);
  103.       readStream = fs.createReadStream(file.path);
  104.       // console.log(readStream.path);
  105.       self.insertaPersonas(file.path);
  106.     });
  107.     form.on('end', () => {
  108.       res.json();
  109.     });
  110.   }
  111.  
  112.  
  113.  
  114. }
  115.  
  116. const uploadControllers = new uploadController();
  117. export default uploadControllers;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement