分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

【ajax导出excel数据异常】

发布时间:2023-09-06 02:36责任编辑:林大明关键词:excel

平常项目中遇到需要后台生成excel表格并导出,就想当然的前台用ajax调用,后台用Aspose.Cells.lic生成文件流并导出,

后台数据整合没什么问题,前台页面没有任何反应。

原因:ajax请求只是个“字符型”的请求,即请求的内容是以文本类型存放的。文件的下载是以二进制形式进行的,ajax没法解析后台返回的文件流,所以无法处理二进制流response输出来下载文件。

解决办法:

用提交form表单的形式或者<a>标签跳转的形式导出excel

  1. 1 var url = "/abc/abc?paras="+args;2 3 $(‘<form method="get" action="‘ + url + ‘"></form>‘).appendTo(‘body‘).submit().remove();
 1 ??//点击导出按钮导出excel表格 2 $("#btn").on("click",function(){ 3 ????var params = {}; 4 ????postExcelFile(params, "http://www.XXX_excel"); 5 }); 6 ?7 //params是post请求需要的参数,url是请求url地址 8 function postExcelFile(params, url) { ?9 ????var form = document.createElement("form");10 ????form.style.display = ‘none‘;11 ????form.action = url;12 ????form.method = "post";13 ????document.body.appendChild(form);14 15 ????for(var key in params){16 ??????var input = document.createElement("input");17 ??????input.type = "hidden";18 ??????input.name = key;19 ??????input.value = params[key];20 ??????form.appendChild(input);21 ????}22 23 ????form.submit();24 ????form.remove();25 ??}

 

【ajax导出excel数据异常】

原文地址:https://www.cnblogs.com/chengxiaofei2018/p/10612057.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved