我有一个网站,上面有一个表格,上面有几个输入。单击按钮后,将调用一个函数,它会进行一些我定义的计算。我想要的是,不仅要将这些输入值,还要将这些计算的结果导出到我之前创建的 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);
}
}