קוד הורדה לאקסל.
-
אני משתמש כספריית corvid ( כידוע.. )
חיפשתי פתרונות להוריד לאקסל מדף הלקוח. מצאתי 2.
זה עבד לי לרגע, אבל לא מצליח לשחזר שוב. יתכן ויש מגבלה לא יודע.
https://www.wix.com/corvid/forum/tips-tutorials-examples/export-data-collection-to-xls-excel-file-using-code?appSectionParams={"origin"%3A"member_posts_page"}יש את זה. זה עובד טוב,
https://www.wix.com/corvid/forum/community-discussion/export-any-data-collections-to-ms-excel-using-wix-code-video
אני שולח בקוד את כל המידע לתיבת HTML וממנה זה יורד. זה עובד טוב. גם בתצוגה הראשונית זה נראה בתיבת ה HTML תקין. רק כשזה יורד כל העברית מגיע מג'וברש כמו URL.
אשמח לכל פתרון.<html> <head> <script> var myList=[]; window.onmessage = function(event){ if (event.data) { myList = event.data; if (myList.length>0) { buildHtmlTable(); } } else { myList = []; } }; function buildHtmlTable() { var columns = addAllColumnHeaders(myList); for (var i = 0 ; i < myList.length ; i++) { var row$ = $('<tr/>'); for (var colIndex = 0 ; colIndex < columns.length ; colIndex++) { var cellValue = myList[i][columns[colIndex]]; if (cellValue == null) { cellValue = ""; } row$.append($('<td/>').html(cellValue)); } $("#excelDataTable").append(row$); } return exportF(); // Make Excel file download now } function addAllColumnHeaders(myList) { var columnSet = []; var headerTr$ = $('<tr/>'); for (var i = 0 ; i < myList.length ; i++) { var rowHash = myList[i]; for (var key in rowHash) { if ($.inArray(key, columnSet) == -1){ columnSet.push(key); headerTr$.append($('<th/>').html(key)); } } } $("#excelDataTable").append(headerTr$); return columnSet; } function exportF() { var table = document.getElementById("excelDataTable"); var html = table.outerHTML; var url = 'data:application/vnd.ms-excel,' + escape(html); var link = document.getElementById("downloadLink"); link.setAttribute("href", url); link.setAttribute("download", "export.xls"); // Choose the file name here link.click(); // Download your excel file return false; } </script> </head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <body onLoad=""> <table id="excelDataTable" border="1"> </table> <a style="display: none" id="downloadLink"></a> </body> </html>
-
זה כנראה בגלל ה escape
נסה ליצור URL עם מידע בינארי משהו כזהblob = new Blob([html], { type: "application/vnd.ms-excel;charset=utf-8" }); var link = document.getElementById("downloadLink"); link.setAttribute("href", URL.createObjectURL( blob )); link.setAttribute("download", "export.xls"); // Choose the file name here link.click(); // Download your excel file
-
@יוסף-בן-שמעון תודה גדולה. אכלה אותי סקרנות מה מחקת בתחלה... פיספסתי.
הידע שלי ב HTML אפסי.
לא הבנתי איך זה מתחבר ה blob
סליחה על החוצפה, איך אני משבץ את מה ששלחת בקוד שהם הביאו? -
@אבי-203 אמר בקוד הורדה לאקסל.:
איך אני משבץ את מה ששלחת בקוד שהם הביאו?
תחליף את השורה הזו
var url = 'data:application/vnd.ms-excel,' + escape(html);
בזה:
var blob = new Blob([html], { type: "application/vnd.ms-excel;charset=utf-8" }); var url = URL.createObjectURL( blob );
@אבי-203 אמר בקוד הורדה לאקסל.:
אכלה אותי סקרנות מה מחקת בתחלה... פיספסתי.
תדע נאמנה שלא פספסת מאומה... סתם טעות שכתבתי בלי לקרוא מה שכתבת
-
@יוסף-בן-שמעון נהדר זז משהו.
אבל עכשיו מגדברש משהו אחר... כך זה מגיע התוכןThu Nov 26 2020 22:08:22 GMT+0200 (×עון ××ר×ל (חורף))