ich das Skript von @bettelbursche aus diesem Thema geschrieben beziehe mich: Export html table data to Excel using JavaScript/JQuery is not working properly in chrome browse (Anmerkung: Ich kann es antworten, weil ich nicht den Mindestbetrag der Buchungen erforderlich erreicht haben)speichern html als xls - JS Dialog Fehler speichern
Ich versuche, eine angezeigte HTML-Tabelle nur als XLS zu speichern, die funktioniert, aber nach dem Klicken auf die Schaltfläche Speichern wird die generierte Datei "Download" (Chrome) oder "unbekannt" (Safari) genannt und fehlt der Dateierweiterung und beim Öffnen der umbenannten download.xls-Datei auch eine Warnung von Excel auszulösen.
Das Problem scheint in dieser Linie zu sein:
sa = txtArea1.document.execCommand("SaveAs", true, "DataTableExport.xls");
Voll Skript unter:
<script>
function fnExcelReport()
{
var tab_text = '<table border="1px" style="font-size:10px" ">';
var textRange;
var j = 0;
var tab = document.getElementById('export'); // id of table
var lines = tab.rows.length;
// the first headline of the table
if (lines > 0) {
tab_text = tab_text + '<tr bgcolor="#DFDFDF">' + tab.rows[0].innerHTML + '</tr>';
}
// table data lines, loop starting from 1
for (j = 1 ; j < lines; j++) {
tab_text = tab_text + "<tr>" + tab.rows[j].innerHTML + "</tr>";
}
tab_text = tab_text + "</table>";
tab_text = tab_text.replace(/<A[^>]*>|<\/A>/g, ""); //remove if u want links in your table
tab_text = tab_text.replace(/<img[^>]*>/gi,""); // remove if u want images in your table
tab_text = tab_text.replace(/<input[^>]*>|<\/input>/gi, ""); // reomves input params
// console.log(tab_text); // aktivate so see the result (press F12 in browser)
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
// if Internet Explorer
if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {
txtArea1.document.open("txt/html","replace");
txtArea1.document.write(tab_text);
txtArea1.document.close();
txtArea1.focus();
sa = txtArea1.document.execCommand("SaveAs", true, "DataTableExport.xls");
}
else // other browser not tested on IE 11
sa = window.open('data:application/vnd.ms-excel,' + encodeURIComponent(tab_text));
return (sa);
}
</script>
Ich vermuten, dass Chrome das Speichern unter Dialog abgeschrieben, aber alle Unterlagen auf, dass nicht finden kann. Lustig ist, dass das Problem in allen Browsern auf MAC/PC ausgelöst wird. Ich würde mich über einige Informationen hierzu freuen;)
Verwandte: [Gibt es eine Möglichkeit, eine vorgeschlagene Dateiname angeben, wenn Daten mit: URI] (http: // Stackoverflow .com/questions/283956/is-there-any-way-to-specify-a-suggest-filename-when-using-data-uri) – jeremy
Initiiert die JS-Funktion nicht, keine Reaktion nach dem Klicken auf den Link. – Armitage2k