我在数据网格中使用了导出器插件,并获得了CSV格式的网格数据。但我想使这些数据以 excel 格式下载。一种解决方案是我可以向服务器发送 ajax 请求并发回 excel。
只是想知道是否有一种方法可以在不点击服务器的情况下创建和下载此 excel。
到目前为止,我的导出代码是:
function exportAll(){
dijit.byId("grid").exportGrid("csv", function(str){
alert('Data to be exported',str);
});
};
将 Dojo 数据网格导出为 csv 文件
您无法通过javascript打开excel,因此它必须是GET下载请求。
使用xhrPost
将str
发送到服务器,放入临时文件中,打印临时网址,然后在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");
}
});
});
};