Я пытаюсь удалить дублирующиеся значения из листа xlsx, для которого я написал функцию «removeDuplicate», которая принимает лист xlsx в качестве аргумента;
Ниже приведен мой код для removeDuplicate. Я пробовал этот код на консолидля массива Json, и он дает правильное значение, но когда я пытаюсь поместить результат в лист xlsx, он все еще сохраняет повторяющиеся значения.
const XLSX = require('xlsx')
var json2xls = require('json2xls');
var removeDuplicate=((worksheet)=>{
var xlsxJson = XLSX.utils.sheet_to_json(worksheet);
var jsonString = JSON.stringify(xlsxJson);
var xlsxJson1 = JSON.parse(jsonString);
console.log(xlsxJson1[0]['Report Status'])
var i;
for (let i = 0; i < xlsxJson1.length; i++) {
{
for(let j=i+1;j<xlsxJson1.length; j++){
if(xlsxJson1[i]['TicketName']===xlsxJson1[j]['TicketName']
&& xlsxJson1[i]['Date']==xlsxJson1[j]['Date']
&& xlsxJson1[i]['In_Input']===xlsxJson1[j]['In_Input']
&& xlsxJson1[i]['In_Result']===xlsxJson1[j]['In_Result']
&&xlsxJson1[i]['Call_Api']===xlsxJson1[j]['Call_Api']
&& xlsxJson1[i]['Report Status']===xlsxJson1[i]['Report Status']){
xlsxJson1[j]=" ";
console.log(xlsxJson1[j])
}
else if((xlsxJson1[i]['TicketName']===xlsxJson1[j]['TicketName']
&& xlsxJson1[i]['Date']==xlsxJson1[j]['Date'])
&& (xlsxJson1[i]['In_Input']===xlsxJson1[j]['In_Input']
|| xlsxJson1[i]['In_Result']===xlsxJson1[j]['In_Result']
|| xlsxJson1[i]['Call_Api']===xlsxJson1[j]['Call_Api']
|| xlsxJson1[i]['Report Status']===xlsxJson1[i]['Report Status'])){
xlsxJson1[i]=xlsxJson1[j]
xlsxJson1[j]=" ";
console.log(xlsxJson1[j])
}
else{
console.log(xlsxJson1[j])
continue;
}
}
}
}
return xlsxJson;
//
return json2xls(xlsxJson1)
})
module.exports=removeDuplicate;
Ниже приведен мой код, где эта функция вызывается вapp.js: aap.js
ws = XLSX.utils.sheet_add_json(ws, ticketNameArr,{origin:-1, skipHeader:true});
removeDuplicate(ws)
// XLSX.utils.book_append_sheet(wb, ws) // sheetAName is name of Worksheet
XLSX.writeFile(wb, 'DailyTicketSatus.xlsx')
// XLSX.writeFile(wb, 'DT.xlsx')
[{Дата: 10.09.2019, TicketName: 'ABC', In_Input: 'TRUE', Input_Time: 20:08, In_Result: 'FALSE', Call_Api:«Ложь», «Состояние отчета»: «Нет файлов журнала», Комментарий: «Билет не был обработан», Статус: «Частичный сбой»}, {Дата: 11.10.19, Имя тикета: «BCD», In_Input: «ЛОЖЬ», In_Result: «FALSE», Call_Api: «False», «Статус отчета»: «Нет файлов журнала», Комментарий: «Билет не был выбран», Статус: «Ошибка»}, {Дата: 11.10.19, TicketName: 'BCD ', In_Input:' TRUE ', Input_Time: 43743.37598236111, In_Result:' FALSE ', Call_Api: «Ложь», «Статус отчета»: «Нет файлов журнала», Комментарий: «Билет не был обработан», Статус: «Частичная ошибка»}]
Теперь ожидаемый результат: {Дата: 10.09.2019, TicketName: «ABC», In_Input: «TRUE», Input_Time: 20:08, In_Result: «FALSE», Call_Api: «False», «Состояние отчета»: «Нет файлов журнала»,Комментарий: «Билет не был обработан», Статус: «Частичная ошибка»}, {Дата: 11.10.19, TicketName: «BCD», In_Input: «FALSE», In_Result: «FALSE», Call_Api: «False», «Report»Статус »:« Нет файлов журнала », Комментарий:« Билет не был выбран », Статус:« Ошибка »}, {" "}. Что я получаю в консоли. Но я не могу записать это в файл xlsx. Я попытался json2xlsx, но это не сработало. Как я могу записать измененные данные в свой лист xlxs.