Chcę eksportować dane wyświetlane w tabeli do formatu CSV. Próbowałem wielu rzeczy, ale nie mogłem pracować dla IE 9 i wyżej.JavaScript/jQuery: Eksportowanie danych w CSV nie działa w IE
Mam created a dummy fiddle z moim kodem.
var data = [
["name1", "city1", "some other info"],
["name2", "city2", "more info"]
];//Some dummy data
var csv = ConvertToCSV(data);//Convert it to CSV format
var fileName = "test";//Name the file- which will be dynamic
if (navigator.userAgent.search("MSIE") >= 0) {
//This peice of code is not working in IE, we will working on this
//TODO
var uriContent = "data:application/octet-stream;filename=" + fileName + '.csv' + "," + escape(csv);
window.open(uriContent + fileName + '.csv');
} else {
var uri = 'data:text/csv;charset=utf-8,' + escape(csv);
var downloadLink = document.createElement("a");
downloadLink.href = uri;
downloadLink.download = fileName + ".csv";
document.body.appendChild(downloadLink);
downloadLink.click();
document.body.removeChild(downloadLink);
}
Widziałem wielu ogniw w Stackoverflow, ale nie mógł znaleźć niczego, co działa z IE9 lub powyżej. Jak @ Terry Young explains in how-to-data-export-to-csv-using-jquery-or-javascript
Również wypróbowaną
var csv = ConvertToCSV(_tempObj);
var fileName = csvExportFileName();
if (navigator.appName != 'Microsoft Internet Explorer') {
window.open('data:text/csv;charset=utf-8,' + escape(str));
}
else {
var popup = window.open('', 'csv', '');
popup.document.body.innerHTML = '<pre>' + str + '</pre>';
}
Nie wiem, jak to naprawić. Nie chcę uderzać serwera i eksportować pliku CSV (wymaganie tak twierdzę).
@Shubh pan rozwiązać ten problem w ogóle - Jestem z widokiem na ten sam problem - obejrzałem to obejście - http://blog.paxcel.net/blog/savedown-file-using-html5-javascript-the-download-attribute-2/, ale to nie zadziałało dla mnie – anna
@anna 'Nopes. Nie udało mi się go rozwiązać. W końcu musiałem użyć logiki Server Side, aby uzyskać pożądane. – Shubh
ok dzięki będą musieli szukać czegoś, co koszmar! – anna