2

アプリケーションに剣道グリッドとエクスポートボタンがあります。グリッドデータのエクスポートは正常に機能していますが、ここではいくつかの行が繰り返され、ファイルの最後に表示されています。ここで、エクスポートされたファイルにカスタム名を付けました。誰でも教えてください。私のコードの何が問題なのですか。お願いします?これがエクスポートボタンのクリックコードです

      $("#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/

4

1 に答える 1

4

これをフィドルコードに変更します。

   for (var i = 0; i < data.length-1; i++) 
   {
       //your code
   } 

   for (var i = 0; i < data.length; i++) 
   {
       //your code
   } 
于 2013-03-26T07:17:44.010 に答える