我使用了datagrid的exporter插件并获得了CSV格式的网格数据。 但我想让这些数据以excel格式下载。一个解决方案是我可以向服务器发送ajax请求并发送回excel。
只是想知道是否可以通过这种方式创建和下载此excel而无需点击服务器。
我目前的导出代码是:
function exportAll(){
dijit.byId("grid").exportGrid("csv", function(str){
alert('Data to be exported',str);
});
};
答案 0 :(得分:1)
见
Exporting a dojo datagrid to a csv file
您无法通过javascript打开Excel,因此需要提供GET下载请求。
将str
发送到xhrPost
的服务器,放入temp-file,打印temp-url,在xhrPost
成功回调函数中,调用window.open("./" + responseText, "_new");
。也可以使用io.iframe
传输该帖子中的一个答案。
function exportAll(){
dijit.byId("grid").exportGrid("csv", function(str){
dojo.xhrPost({
url: '/putExportData.php',
load: function(tempUrl) {
window.open(tempUrl, "_new");
}
});
});
};