An error occurred while loading the file. Please try again.
citationSheetParse.js 6.89 KiB
//
// 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 } })