Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

283
Vistas
Datos de ExcelJS en la columna de fecha específica

Estoy creando una hoja de Excel usando el paquete exceljs en la aplicación nodejs. Tengo una serie de encabezados que he generado como este.

 const monthsArray = arrDays.map((str) => ( { header: str, key: str, width: 10 } // Example { header: "12-15-2021", key: "12-15-2021", width: 10} )); let headers = [ { header: "Name", key: "Name", width: 10 }, { header: "Phone", key: "Phone", width: 13 }, { header: "CNIC", key: "CNIC", width: 13 }, { header: "City", key: "City", width: 10 }, ...monthsArray ];

Ahora estoy ejecutando un agregado que me devolverá registros de usuarios y, junto con eso, obtendré un objeto anidado dentro que tendrá registros de asistencia en un día en particular, algo así createdAt: "2021-12-15T19:56:37.984Z" y present: true . Ahora puedo imprimir los encabezados correctamente en la primera fila con fechas en la parte superior de cada columna y antes de eso, dichos datos como nombre, teléfono, ciudad, etc. Sin embargo, necesito saber cómo puedo mostrar los registros de asistencia correctos bajo el correcto ¿columna? De modo que el verdadero debe escribirse en la columna 12-15-2021 para un usuario en particular.

Así es como estoy generando un archivo de Excel

 generateAndUploadExcel: async function (worksheetName, headers, rows) { var workbook = new Excel.Workbook(); var sheet = workbook.addWorksheet(worksheetName); sheet.columns = headers; sheet.addRows(rows); try { var bufferFile = await workbook.xlsx.writeBuffer(); const fileExt = "xlsx"; const aws = new FileUploadService( awsConfig.accessKeyId, awsConfig.secretAccessKey, awsConfig.bucketName ); const upload = await aws.uploadBuffer( "download-center", bufferFile, fileExt, worksheetName ); return upload; } catch (err) { throw new Error(err); } }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

En primer lugar, convierta la fecha de la base de datos al mismo formato exacto que se usó para crear el encabezado de fecha (clave) para acceder a una columna específica en la hoja de Exceljs y, al agregar la fila, simplemente haga row['date-key']=true or false

Por ejemplo dateheader = { header: "12-15-2021", key: "12-15-2021", width: 10} aquí la clave es 12-15-2021 y la fecha de asistencia de DB es 2021-12-15T19:56:37.984Z , convierta esto a 12-15-2021 y luego simplemente haga

 let row={} row['name']=user.name; row['city']=user.city; row[convertedDate]=true; sheet.addRow(row);
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda