如何将网站输入的数据导出到excel

问题描述 投票:0回答:0

我有一个网站,上面有一个表格,上面有几个输入。单击按钮后,将调用一个函数,它会进行一些我定义的计算。我想要的是,不仅要将这些输入值,还要将这些计算的结果导出到我之前创建的 excel 电子表格中,就像一个模板,它只需要填充那些特定的单元格。

我不知道它是否有帮助,但这是进行计算的函数:

function CalculateMedia(){
    // Defining every var to retrieve the values from inputs
    // Média de cada disciplina por ano, Provas de Ingresso, Peso PI e Peso Média
    let pt10 = document.getElementById("pt_10").value;
    let pt11 = document.getElementById("pt_11").value;
    let pt12 = document.getElementById("pt_12").value;

    let le10 = document.getElementById("le_10").value;
    let le11 = document.getElementById("le_11").value;

    let fil10 = document.getElementById("fil_10").value;
    let fil11 = document.getElementById("fil_11").value;

    let trienal10 = document.getElementById("trienal_10").value;
    let trienal11 = document.getElementById("trienal_11").value;
    let trienal12 = document.getElementById("trienal_12").value;

    let bienali10 = document.getElementById("bienal_i_10").value;
    let bienali11 = document.getElementById("bienal_i_11").value;

    let bienalii10 = document.getElementById("bienal_ii_10").value;
    let bienalii11 = document.getElementById("bienal_ii_11").value;

    let edf10 = document.getElementById("edf_10").value;
    let edf11 = document.getElementById("edf_11").value;
    let edf12 = document.getElementById("edf_12").value;

    let anuali = document.getElementById("anual_i").value;

    let anualii = document.getElementById("anual_ii").value;

    let Pi1 = document.getElementById("pi_pt").value;
    let Pi2 = document.getElementById("pi_le").value;
    let Pi3 = document.getElementById("pi_fil").value;
    let Pi4 = document.getElementById("pi_trienal").value;
    let Pi5 = document.getElementById("pi_bienal_i").value;
    let Pi6 = document.getElementById("pi_bienal_ii").value;

    let PPI = document.getElementById("peso_pi").value;


    //Média Final de cada disciplina
    let pt_final = (parseFloat(pt10) + parseFloat(pt11) + parseFloat(pt12)) / 3;
    let le_final = (parseFloat(le10) + parseFloat(le11)) / 2;
    let fil_final = (parseFloat(fil10) + parseFloat(fil11)) / 2;
    let trienal_final = (parseFloat(trienal10) + parseFloat(trienal11) + parseFloat(trienal12)) / 3;
    let bienal_i_final = (parseFloat(bienali10) + parseFloat(bienali11)) / 2;
    let bienal_ii_final = (parseFloat(bienalii10) + parseFloat(bienalii11)) / 2;
    let edf_final = (parseFloat(edf10) + parseFloat(edf11) + parseFloat(edf12)) / 3;
    let anual_i_final = parseFloat(anuali);
    let anual_ii_final = parseFloat(anualii);

    let PiPt = (parseFloat(Pi1)) / 10;
    let PiLe = (parseFloat(Pi2)) / 10;
    let PiFil = (parseFloat(Pi3)) / 10;
    let PiTrienal = (parseFloat(Pi4)) / 10;
    let PiBienali = (parseFloat(Pi5)) / 10;
    let PiBienalii = (parseFloat(Pi6)) / 10;

    let PesoProvasIngresso = (parseFloat(PPI)) / 100;
    let PesoMediaFinal = 1 - PesoProvasIngresso;

    let MediaFinalSecundario = ((pt_final + le_final + fil_final + trienal_final + bienal_i_final + bienal_ii_final + edf_final + anual_i_final + anual_ii_final) / 9).toFixed(3);

    //This part of the code puts the PI into an array and only returns the not NaN after that it calculates the average
    let piArray = [PiPt, PiLe, PiFil, PiTrienal, PiBienali, PiBienalii];
    let validPiArray = piArray.filter(function(value) {
        return !isNaN(value);
    });

    let MediaProvasIngresso = validPiArray.length > 0 ? validPiArray.reduce(function(acc, value) {
        return acc + value;
    }, 0) / validPiArray.length : 0;

    
    let MediaFinalAcessoES = ((MediaFinalSecundario * PesoMediaFinal) + (MediaProvasIngresso * PesoProvasIngresso)).toFixed(3);

    }
}
javascript export-to-excel
© www.soinside.com 2019 - 2024. All rights reserved.