// // begining of xlsx to json coversion // var jsonContent = []; var bibAuthors = ""; var bit1stAuthorLN =""; /* set up XMLHttpRequest */ var url = "./content/CitationSheet_June.xlsx"; var xmlHttpRequest = new XMLHttpRequest(); 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.toString().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); } //console.log(jsonContent); } xmlHttpRequest.send(); // str = str.substring(0, lastIndex); // // ending of xlsx to json coversion //