Kann nicht exportieren html-Tabelle in excel mithilfe von jQuery
Habe ich rund 5000 Zeilen(tr) in HTML-Tabellen mit jeweils 10 Spalten(td). Jetzt bin ich versucht zu exportieren, diese ganze HTML-Tabelle in excel mit folgenden jQuery-code:
var test = $('#data');
window.open('data:application/vnd.ms-excel,' + encodeURIComponent(test.html()));
Haben auch versucht, mit vielen anderen jQuery-plugins wie DataTables.net, jqWidgets und jqGrid, aber jedes mal mein browser abgestürzt und muss neu laden die Seite erneut.
- Verschicken Sie die Daten zuerst auf Ihre Anwendungs-server und legen Sie dann-Header von deinem server.
- Können Sie nicht machen Verwendung von application server wie ich Sie implementieren müssen, um die Dinge mithilfe der client-Seite nur.
- Können Sie das Problem reproduzieren, in jsfiddle?
- Sorry zu sagen, aber auch jsFiddle auch geben mir die gleiche Fehlermeldung, wenn ich versuchte zu post-HTMl-Daten-und jQuery-code dort.
- Vielleicht ist dieser link klar, dass du in allen Aspekten : stackoverflow.com/questions/4325968/window-open-with-headers
- Welchen browser verwenden Sie?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fenster.open() hat seine Möglichkeiten und Grenzen sehr gut erklärt in diesem Beitrag: Export in CSV mit Hilfe von jQuery und html
Für Ihr Anliegen, getestet habe ich mit 2500 Zeilen und es funktioniert gut. (Kann ich nicht hochladen, so viel Daten auf jsfiddler aber ich bin sicher, es wird funktionieren 5000 Zeilen auch.)
Außerdem vermute ich, wenn Sie werden Verpackung Ihrer html-Tabelle in einen DIV-container. Legen Sie einfach Ihren html-Tabelle in ein DIV und verwenden, wie dies -
http://jsfiddle.net/AnilAwadh/wJyWm/
alsterrunde() ist eine Javascript-Funktion, die verwendet wird zum codieren von Sonderzeichen wenn Sie die Daten hat und seine Verwendung ist optional.
Wenn Sie auf nicht-IE-Browser, versuchen Sie Folgendes:
Sehe es hier durch die Verwendung von Chrome: http://jsfiddle.net/56tvb/2/.
Wenn Sie auf Internet Explorer als browser, Sie haben sich für einen anderen Ansatz, als die aktuelle wird nicht funktionieren. Aus der MSDN library, die Daten-Protokoll Thema sagt:
Mein Freund schlug vor, diesen Ansatz - versuchen Sie, erstellen einer blob, und verwenden Sie navigator.msSaveBlob() oder navigator. msSaveOrOpenBlob() .
msdn.microsoft.com/en-us/library/ie/hh772331(v=vs. 85).aspx
Können Sie versuchen, dieses plugin - tableExport.js
HTML:
jQuery:
Plugin download: http://www.jqueryscript.net/table/Export-Html-Table-To-Excel-Spreadsheet-using-jQuery-table2excel.html