// console.log("masuk"); var _dataTable; function trimObj(obj) { if (obj === null || (!Array.isArray(obj) && typeof obj != "object")) return obj; return Object.keys(obj).reduce( function (acc, key) { acc[key.trim()] = typeof obj[key] == "string" ? obj[key].trim() : trimObj(obj[key]); return acc; }, Array.isArray(obj) ? [] : {} ); } $("#filePicker").change((e)=>{ // console.log(e.target.files[0]); // var table = document.getElementById("tablePDF"); // tableExport("tablePDF", "Storing_List.pdf", 'json'); var files = e.target.files, f = files[0]; if (f != undefined) { var reader = new FileReader(); reader.onload = async function (e) { var data = new Uint8Array(e.target.result); workBook = XLSX.read(data, { type: "array" }); // console.log(workBook,Object.keys(workBook.Sheets)); if(workBook&&Object.keys(workBook.Sheets).length>0){ worksheet = workBook.Sheets[Object.keys(workBook.Sheets)[0]]; var jsa = XLSX.utils.sheet_to_json(worksheet); var newJSONArr = []; jsa.forEach(element => { if(Object.keys(element).includes("Parts Name Main Location")){ var val = element["Parts Name Main Location"]; delete element["Parts Name Main Location"]; element["Parts Name"] = val.substring(0,val.length-11); element["Main Location"] = val.substring(val.length-11); } newJSONArr.push(element); }); var columns = Object.keys(newJSONArr[0]); newJSONArr.forEach((element,idx)=>{ columns.filter(i=>!Object.keys(element).includes(i)).forEach(col=>{ newJSONArr[idx][col] = newJSONArr[idx-1][col]; }) }); // worksheet = XLSX.utils.json_to_sheet(newJSONArr); // console.log(worksheet); newJSONArr = trimObj(newJSONArr); console.log(newJSONArr); _dataTable = $('#myTable').DataTable({ data: newJSONArr, columns: [ { data: "Case #", title: "Case" }, { data: "Parts #", title: "Parts" }, { data: "Parts Name", title: "Parts Name" }, { data: "Main Location", title: "Main Location" }, { data: "ABC", title: "ABC" }, { data: "Receipt Qty", title: "Receipt Qty" }, { data: "BO Qty", title: "BO Qty" }, { data: "Location", title: "Location" }, { data: "Qty", title: "Qty" }, ], }); // var html = XLSX.utils.sheet_to_html(worksheet); // console.log(html); } // var html = XLSX.utils.sheet_to_html(worksheet); }; reader.readAsArrayBuffer(f); } // var wb = XLSX.utils.table_to_book(document.getElementById("TableToExport")); /* Export to file (start a download) */ // XLSX.writeFile(wb, e.target.files[0]); });