2012-08-16 304 views
1

我已經使用導出器插件datagrid並獲取了CSV格式的網格數據。 但我想讓這些數據可以以excel格式下載。一個解決方案是我可以發送一個ajax請求到服務器併發回excel。Dojo DataGrid導出爲ex​​cel

只是想知道是否有一種方法,可以創建和下載這個excel而不會打到服務器。

我出口代碼現在是:

 function exportAll(){ 
      dijit.byId("grid").exportGrid("csv", function(str){ 
       alert('Data to be exported',str); 
      }); 
     }; 

回答

1

Exporting a dojo datagrid to a csv file

你不能打開通過javascript Excel,以便它需要一個GET下載請求。

發送str到服務器xhrPost,投入臨時文件存在,打印臨時-URL和xhrPost成功回調函數,調用window.open("./" + responseText, "_new");。它也可以使用傳輸在該帖子中顯示的答案之一。

function exportAll(){ 
     dijit.byId("grid").exportGrid("csv", function(str){ 
      dojo.xhrPost({ 
       url: '/putExportData.php', 
       load: function(tempUrl) { 
        window.open(tempUrl, "_new"); 
       } 
      }); 
     }); 
    }; 
+0

我認爲這比JavaScript有更多的限制/安全性比Dojo有任何問題。 – Sandeep 2012-08-17 08:38:42

+0

它是..你可以進入ActiveX組件,如果你想在IE中支持這個。它具有寫入磁盤的靈活性 - 而JS拒絕這個功能(除了會話/ cookie存儲ofc) – mschr 2012-08-17 08:59:27