Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

285
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!