3

剣道UIコントロールを使用しています.グリッドからテーブルデータをエクスポートすると、クロムでは正常に動作しますが、IE 10およびmozilla firefoxでは動作しません. フィドルを使用した私のコードは次のとおりです。 http://jsfiddle.net/SZBrt/41/enter code here

   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>";
4

1 に答える 1

1

実際、あなたのアプローチは現在 Chrome でのみサポートされています。Firefox の場合は window.open が必要で、IE 10 の場合はwindow.navigator.msSaveOrOpenBlobが必要です。

if (window.navigator.msSaveBlob) {
        window.navigator.msSaveBlob(new Blob([result]), 'export.csv');
 } else {
   window.open(result);
 }

Firefox と IE 10 で動作する更新されたフィドルは次のとおりです: http://jsfiddle.net/SZBrt/92/

このブログ投稿で多くの情報を入手できます: http://hackworthy.blogspot.com/2012/05/savedownload-data-generated-in.html

于 2013-09-02T12:58:08.777 に答える