gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 00:33:27 31 4
gpt4 key购买 nike

我正在使用 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/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com