summaryrefslogtreecommitdiffstats
path: root/admin/survey/export/script/saveAsExcel2.js
diff options
context:
space:
mode:
Diffstat (limited to 'admin/survey/export/script/saveAsExcel2.js')
-rw-r--r--admin/survey/export/script/saveAsExcel2.js104
1 files changed, 104 insertions, 0 deletions
diff --git a/admin/survey/export/script/saveAsExcel2.js b/admin/survey/export/script/saveAsExcel2.js
new file mode 100644
index 0000000..caacf21
--- /dev/null
+++ b/admin/survey/export/script/saveAsExcel2.js
@@ -0,0 +1,104 @@
+function exportTableToExcel(filename = '', export_subtype){
+
+ var downloadLink;
+ var dataType = 'application/vnd.ms-excel';
+ var htmlStart = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body>';
+ var htmlStop = '</body></html>';
+ var tableSelect;
+ var naslovSelect = '';
+ var tableHTML = '';
+ var tableID = [];
+ var titleClass = 'cmbx-10'
+
+
+ var tableNumber = document.getElementsByTagName('table').length; //belezi stevilo tabel v htmlju
+ //console.log("Dolzina: "+tableNumber);
+
+ var att = document.createAttribute("border");
+ att.value = "1px";
+
+ var tableList = document.getElementsByTagName('table');
+ for(var l=0; l<tableNumber; l++){ //naberi vse idje tabel v htmlju
+ //console.log("Ime: "+tableList[l].id);
+ tableID.push(tableList[l].id);
+ tableList[l].setAttribute("border", "1px"); //dodaj obrobo html tabeli, da bo potem obraba tudi v xls datoteki
+
+ //ureditev bold-anja
+ if(export_subtype!="multicrosstab"){
+
+
+ id1 = 'TBL-'+(l+1)+'-1-1';
+ id2 = 'TBL-'+(l+1)+'-1-2';
+ //console.log(id1);
+ //console.log(id2);
+
+ var tableTitle1 = document.getElementById(id1);
+ tableTitle1.style.fontWeight = "bold";
+ //console.log("fontWeightnot: "+document.getElementById(id1).style.textAlign);
+ //console.log("fontWeightnot: "+tableTitle1.style.textAlign);
+
+ var tableTitle2 = document.getElementById(id2);
+ tableTitle2.style.fontWeight = "bold";
+
+ //za ostale izvoze, ki potrebujejo dodatna bold besedila
+ if(export_subtype="break"){
+ id3 = 'TBL-'+(l+1)+'-2-1';
+ var tableTitle3 = document.getElementById(id3);
+ tableTitle3.style.fontWeight = "bold";
+ }
+
+ }
+
+ //za ostale izvoze, ki potrebujejo dodatna bold besedila - konec
+
+ }
+
+ //console.log("fontWeight 112: "+document.getElementById('TBL-1-1-2').style.textAlign);
+
+ //sestava naslova
+ var naslovSelectNumber = document.getElementsByClassName(titleClass).length; //belezi stevilo delov naslova
+ for(var l=0; l<naslovSelectNumber; l++){ //naberi vse idje tabel v htmlju
+ document.getElementsByClassName(titleClass)[l].style.fontWeight = "bold"; //boldanje naslova analize
+ naslovSelect = naslovSelect + document.getElementsByClassName(titleClass)[l].innerText;
+ }
+
+ //console.log(naslovSelect);
+ //sestava naslova - konec
+
+ tableHTML = tableHTML + naslovSelect;
+ //console.log(tableHTML);
+
+ for(var i=0;i<tableID.length;i++){
+ //console.log(tableID[i]);
+ tableSelect = document.getElementById(tableID[i]);
+ tableHTML = tableHTML + '\n '+tableSelect.outerHTML.replace(/ /g, '%20');
+ }
+
+ //console.log(tableHTML);
+
+ // Specify file name
+ filename = filename?filename+'.xls':'excel_data.xls';
+
+ // Create download link element
+ downloadLink = document.createElement("a");
+
+ document.body.appendChild(downloadLink);
+
+ if(navigator.msSaveOrOpenBlob){
+ var blob = new Blob(['\ufeff', tableHTML], {
+ type: dataType
+ });
+ navigator.msSaveOrOpenBlob( blob, filename);
+ }else{
+ // Create a link to the file
+ downloadLink.href = 'data:' + dataType + ', ' + htmlStart + tableHTML + htmlStop;
+
+ // Setting the file name
+ downloadLink.download = filename;
+
+ //triggering the function
+ downloadLink.click();
+ }
+ //console.log("zapri se");
+ //window.close(); //zapri okno oz. zavihek z drugim korakom izvoza iz html v xls
+} \ No newline at end of file