// // begining of xlsx to json coversion // var jsonContent = []; var bibAuthors = ""; var bit1stAuthorLN = ""; var url = "./content/CitationSheet3.xlsx"; var xmlHttpRequest = new XMLHttpRequest(); var load_excel_citation = function (cb) { xmlHttpRequest.open("GET", url, true); xmlHttpRequest.responseType = "arraybuffer"; xmlHttpRequest.onload = function (e) { var arraybuffer = xmlHttpRequest.response; // convert data to binary string // var data = new Uint8Array(arraybuffer); var arr = new Array(); for (var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]); var bstr = arr.join(""); // Call XLSX // var workbook = XLSX.read(bstr, { type: "binary" }); // DO SOMETHING WITH workbook HERE // var first_sheet_name = workbook.SheetNames[0]; // Get worksheet // var worksheet = workbook.Sheets[first_sheet_name]; var jsonOutput = XLSX.utils.sheet_to_json(worksheet); // console.log(jsonOutput); for (i = 0; i < jsonOutput.length; i++) { var authors; if (jsonOutput[i].Authors != undefined) { authors = jsonOutput[i].Authors.replace("and ", "").trim().split(","); } var bibAuthors; var item = { "item": { "title": "", "project": "", "authors": [], "imageLink": "", "keywords": "", "journal": { "name": "journal", "volume": "", "year": "", "pages": "" }, "conference": { "name": "", "place": "", "date": "" }, "DOI": "", "publisher": "", "type": "", "project": "", "reviewed": "", "open": "" }, "links": { "pdf": "", "url": "", "demo": "" }, "bibtex": "" } bibAuthors = ""; bit1stAuthorLN = ""; for (j = 0; j < authors.length; j++) { var author = { "firstName": "", "lastName": "" } if (authors[j].trim().split(" ").length == 1) { author["firstName"] = authors[j].trim().split(".")[0]; author["lastName"] = authors[j].trim().split(".")[1]; item["item"].authors.push(author); bibAuthors += authors[j].trim().split(".")[1] + ", " + authors[j].trim().split(".")[0] + " and "; } else if (authors[j].trim().split(" ").length == 2) { author["firstName"] = authors[j].trim().split(" ")[0]; author["lastName"] = authors[j].trim().split(" ")[1]; item["item"].authors.push(author); bibAuthors += authors[j].trim().split(" ")[1] + ", " + authors[j].trim().split(" ")[0] + " and "; } else if (authors[j].trim().split(" ").length == 3) { author["firstName"] = authors[j].trim().split(" ")[0]; author["lastName"] = authors[j].trim().split(" ")[2]; item["item"].authors.push(author); bibAuthors += authors[j].trim().split(" ")[2] + ", " + authors[j].trim().split(" ")[0] + " and "; } } if (jsonOutput[i].Keywords != undefined) { item["item"].keywords = jsonOutput[i].Keywords.split(","); } else { item["item"].keywords = jsonOutput[i].Keywords; } if (authors[0].split(" ").length == 3) { bit1stAuthorLN = authors[0].split(" ")[2]; } else if (authors[0].split(" ").length == 2) { bit1stAuthorLN = authors[0].split(" ")[1]; } else if (authors[0].split(" ").length == 1) { bit1stAuthorLN = authors[0].split(" ")[0]; } item["item"].title = jsonOutput[i].Titel; item["item"].project = jsonOutput[i].Project; item["item"].imageLink = jsonOutput[i]["Path to demo image"] item["item"].journal.name = jsonOutput[i].Journal; item["item"].journal.volume = jsonOutput[i].Volume; item["item"].journal.year = jsonOutput[i].Year; item["item"].journal.pages = jsonOutput[i].Pages; item["item"].conference.name = jsonOutput[i].Conference; item["item"].conference.place = jsonOutput[i]["City and Country"] item["item"].conference.date = jsonOutput[i].Date; item["item"].publisher = jsonOutput[i].Publisher; item["item"].type = jsonOutput[i]["Type of Work"]; item["item"].project = jsonOutput[i].Project; item["item"].reviewed = jsonOutput[i]["Peer-Reviewed"]; item["item"].open = jsonOutput[i]["Open Access"]; item["item"].DOI = jsonOutput[i].DOI; item["links"].pdf = jsonOutput[i].PDF_Link; item["links"].url = jsonOutput[i].URL; item["links"].demo = jsonOutput[i].Demo; var month = ""; if (jsonOutput[i].Date != undefined) { month = jsonOutput[i].Date.split(",")[0].trim(); } //// BibTex ///////////////////// item["bibtex"] = "@article{" + bit1stAuthorLN + jsonOutput[i].Year + "," + "title={" + jsonOutput[i].Titel + "},author={" + bibAuthors.trim().substring(0, bibAuthors.trim().lastIndexOf(" ")) + "},journal={" + jsonOutput[i].Journal + "},volume={" + jsonOutput[i].Volume + "},month={" + month + "},pages={" + jsonOutput[i].Pages + "},year={" + jsonOutput[i].Year + "},DOI ={" + jsonOutput[i].DOI + "},url ={" + jsonOutput[i].URL + "}}" jsonContent.push(item); if (i == jsonOutput.length - 1) { cb() // callback } } // console.log(jsonContent); } xmlHttpRequest.send(); } // get paper from the Sabo result load_excel_citation(function () { stuff_paper = jsonContent; var new_row = document.getElementById("cont_paper") new_row.innerHTML = ""; var arrayLength = stuff_paper.length; for (var i = 0; i < arrayLength; i++) { if (i < max_paper_list && i <= arrayLength) { addpaper(stuff_paper[i]); } //Do something } })