簡體   English   中英

如何在 node.js 的現有 xlsx 表中 append 數組 object

[英]How can I append array of object in existing xlsx sheet in node.js

我有存儲對象數組的“ticketNameArr”。 每次解決 promise 時,我都想將 append 的 object 數組轉換為現有工作表,但它正在被覆蓋。

 Promise.all(ticketDetail).then(function (values) {
                //console.log(values);
                ticketNameArr.push({

                    TicketName: ticketNameIs,
                    InputLocationMessage: values[0].inputLocationMessage,
                    ResultLocationMessage: values[1].resultLocationMessage,
                    TicketStatusInput: values[0].ticketStatusInput,
                    TicketStatusResult: values[1].ticketStatusResult,
                    LogStatus: values[2].logStatus,
                    ReportStatus: values[3].reportStatus,
                    InputTime: values[0].birthtime,
                    InputModifiedTime: values[0].mtime,
                    OutputTime: values[1].birthtime,
                    OutputModifiedTime: values[1].mtime,
                    LogCreateTime: values[2].birthtime,
                    LogModifiedTime: values[2].mtime,
                    FtpTime:values[0].ftpTime,
                    FTPSTATUS:values[0].FTPStatus
                });

                var wb = XLSX.utils.book_new() // make Workbook of Excel


                if (ticketNameArr.length == ticketName.length) {


                var ws  = XLSX.utils.json_to_sheet(ticketNameArr)
                XLSX.utils.book_append_sheet(wb, ws) // sheetAName is name of Worksheet
                XLSX.writeFile(wb, 'DailyTicketSatus.xlsx')

                    respond.render('result', { "ticketNameArr": ticketNameArr });
                }


            });```

在 for 循環中,您每次都在啟動新工作簿

所以刪除以下行

var wb = XLSX.utils.book_new() // make Workbook of Excel

並在 for 循環之上初始化

var wb = XLSX.utils.book_new() // make Workbook of Excel
Promise.all(ticketDetail).then(function (values) {
    if (ticketNameArr.length == ticketName.length) {  
       var ws  = XLSX.utils.json_to_sheet(ticketNameArr)
       XLSX.utils.book_append_sheet(wb, ws) // sheetAName is name of Worksheet
       XLSX.writeFile(wb, 'DailyTicketSatus.xlsx')
       respond.render('result', { "ticketNameArr": ticketNameArr });
    }
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM