Dojo DataGrid导出为ex​​cel

问题描述:

我已经使用导出器插件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); 
      }); 
     }; 

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