javascript - 特定日期列下的 ExcelJS 数据

标签 javascript node.js exceljs

我正在使用 nodejs 应用程序中的 exceljs 包创建一个 excel 表。我有一组像这样生成的标题。

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
];
现在我正在运行一个聚合,它将返回我的用户记录,同时我将在其中获得一个嵌套对象,其中将包含特定日期的出勤记录,如下所示 createdAt: "2021-12-15T19:56:37.984Z"present: true .现在标题我可以在第一行正确打印出每列顶部的日期,在此之前打印出姓名、电话、城市等数据。但是我需要知道如何在正确的情况下显示正确的出勤记录柱子?这样 true 必须写在 12-15-2021 列下对于特定用户。
这是我生成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);
    }
  }

最佳答案

首先,将数据库日期转换为与创建日期标题(键)完全相同的格式,以便访问 exceljs 表中的特定列,并在添加行时执行 row['date-key']=true or false例如dateheader = { header: "12-15-2021", key: "12-15-2021", width: 10}这里的关键是12-15-2021 DB 出席日期为 2021-12-15T19:56:37.984Z , 将其转换为 12-15-2021然后就做

let row={}
row['name']=user.name; 
row['city']=user.city; 
row[convertedDate]=true;
sheet.addRow(row);

关于javascript - 特定日期列下的 ExcelJS 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70369646/

相关文章:

node.js - Mongoose 5.0.15/MongoDB 3.6.4 转换为数组失败,因为值 [NaN, NaN]

javascript - 将 Excel 上传到 Google Cloud Storage 时出错

node.js - 使用 node.js 修改现有 Excel 文件

javascript - NodeJS : invalid array length Allocation failed - JavaScript heap out of memory

javascript - 如何从需要返回语句的 GraphQL 解析器中调用异步 node.js 函数?

javascript - 圈圈进度条一直循环

node.js - 无法更新 Hyperledger Composer 中的现有 Assets

node.js - 使用 `ncp` 复制文件会抛出 : no such file or directory, mkdir

javascript - d3 拖动事件在 Firefox 中不会终止

javascript - 更改动态值时重复数组对象