アプリケーションに剣道グリッドとエクスポートボタンがあります。グリッドデータのエクスポートは正常に機能していますが、ここではいくつかの行が繰り返され、ファイルの最後に表示されています。ここで、エクスポートされたファイルにカスタム名を付けました。誰でも教えてください。私のコードの何が問題なのですか。お願いします?これがエクスポートボタンのクリックコードです
$("#btnExport").click(function(e) {
var dataSource= $("#grid").data("kendoGrid").dataSource;
var filteredDataSource = new kendo.data.DataSource( {
data: dataSource.data(),
filter: dataSource.filter()
});
filteredDataSource.read();
var data = filteredDataSource.view();
var result = "data:application/vnd.ms-excel,";
result += "<table><tr><th>OrderID</th><th>Freight</th><th>Order Date</th><th>Ship Name</th><th>Ship City</th></tr>";
for (var i = 0; i < data.length; i++) {
result += "<tr>";
result += "<td>";
result += data[i].OrderID;
result += "</td>";
result += "<td>";
result += data[i].Freight;
result += "</td>";
result += "<td>";
result += kendo.format("{0:MM/dd/yyyy}", data[i].OrderDate);
result += "</td>";
result += "<td>";
result += data[i].ShipName;
result += "</td>";
result += "<td>";
result += data[i].ShipCity;
result += "</td>";
result += "</tr>";
}
result += "</table>";
var dt = new Date();
var day = dt.getDate();
var month = dt.getMonth() + 1;
var year = dt.getFullYear();
var hour = dt.getHours();
var mins = dt.getMinutes();
var postfix = day + "." + month + "." + year + " " + hour + ":" + mins;
var a = document.createElement('a');
var table_div = (document.getElementById('grid').getElementsByTagName('tbody')[0]);
var table_html = table_div.outerHTML.replace( );
a.href = result + ',' + table_html;
a.download = 'exporteddata@' +postfix+ '.xls';
a.click();
e.preventDefault();
});
これがフィドルですhttp://jsfiddle.net/SZBrt/35/