0 0

jquery+ajax+poi导不出EXCEL..5

var _exportExcel = function() {
		$.ajax({
				type: "GET",
				url : "boQueryAction!queryOrderListExportInfo.action",
				data : {"g_paramInfo":JSON.stringify(g_paramInfo)},
				cache : false,
				async : false,
				contentType:"application/json",
				error : function() {
					alert("导出失败");
				}
			});

 JS代码如上

后端代码没问题,
我已经response.setContentType("application/vnd.ms-excel;");
response.setHeader("Content-Disposition", "attachment;filename=" + templateName + ".xls");
都写好了,而且我断点看了,后台已经把HSSFWorkbook对象的EXCEL数据都准备好了
并且已经输出
//得到输出流
out = response.getOutputStream();
workBook.write(out);
//刷新输出流

但是点击导出按钮,不报错误,后台有查询数据的日志,也没有错.就是没有任何反应

所以想请教一下各位,前台ajax这种调用方式,是不是打不开EXCEL?


问题补充:<div class="quote_title">suziwen 写道</div><div class="quote_div">在浏览器安全范围内无法直接通过AJAX实现文件下载 <br /> <br /> <br />你直接设置 location.href='boQueryAction!queryOrderListExportInfo.action';或者通过隐藏的iframe把下载地址赋值给src</div> <br /> <br /> <br />您好,不能直接打开这个action,我主要是还要传入这个json字符串 <br />data : {"g_paramInfo":JSON.stringify(g_paramInfo)},&nbsp;&nbsp; <br />不知道怎么实现呢
2011年5月05日 23:42

8个答案 按时间排序 按投票排序

0 0

采纳的答案

data : {"g_paramInfo":JSON.stringify(g_paramInfo)},  


那就是你自己在页面里先创建一个FORM(用DIV隐藏起来),这个FORM里包含g_paramInfo文本域,具体值就是你的JSON.stringify(g_paramInfo),这个FORM的ACTION就是boQueryAction!queryOrderListExportInfo.action,
要下载时,就通过JQUERY把这个FORM提交上去,记得对这个FROM的TARGET设置成_blank,让他在新窗口打开

2011年5月06日 11:03
0 0

引用
引用
{"g_paramInfo":JSON.stringify(g_paramInfo)},这个提交时实际也是以健值方式提交的,可以直接拼成参数附加到
url后面"***.action?g_paramInfo="+JSON.stringify(g_paramInfo)


直接拼成参数不是很好,有可能g_paramInfo里面的值是中文,再或者长度超出url地址最大长度时就不好使了


引用
g_paramInfo如果值比较简单,是可以这样做的,也方便


很对,视具体情况,也可以在iframe中提交信息的

2011年5月06日 11:51
0 0

g_paramInfo如果值比较简单,是可以这样做的,也方便

2011年5月06日 11:40
0 0

引用
{"g_paramInfo":JSON.stringify(g_paramInfo)},这个提交时实际也是以健值方式提交的,可以直接拼成参数附加到
url后面"***.action?g_paramInfo="+JSON.stringify(g_paramInfo)


直接拼成参数不是很好,有可能g_paramInfo里面的值是中文,再或者长度超出url地址最大长度时就不好使了

2011年5月06日 11:39
0 0

引用
问题补充:

suziwen 写道
在浏览器安全范围内无法直接通过AJAX实现文件下载


你直接设置 location.href='boQueryAction!queryOrderListExportInfo.action';或者通过隐藏的iframe把下载地址赋值给src



您好,不能直接打开这个action,我主要是还要传入这个json字符串
data : {"g_paramInfo":JSON.stringify(g_paramInfo)},  


{"g_paramInfo":JSON.stringify(g_paramInfo)},这个提交时实际也是以健值方式提交的,可以直接拼成参数附加到
url后面"***.action?g_paramInfo="+JSON.stringify(g_paramInfo)

2011年5月06日 11:11
0 0

在浏览器安全范围内无法直接通过AJAX实现文件下载


你直接设置 location.href='boQueryAction!queryOrderListExportInfo.action';或者通过隐藏的iframe把下载地址赋值给src

2011年5月06日 10:51
0 0

你要用iframe提交请求,才能获取响应流

2011年5月06日 10:48
0 0

废话,文件流怎么能用ajax处理?不用那么麻烦的,直接打开boQueryAction!queryOrderListExportInfo.action就有下载提示了

2011年5月06日 09:34

相关推荐

    etmvc+jQuery EasyUI+POI动态导出EXCEL

    etmvc+jQuery EasyUI+POI动态导出EXCEL,非常详细,并且实用的一个小技术

    org.apache.poi jar包

    org.apache.poi JAR包,解决个人的 import org.apache.commons.beanutils.PropertyUtilsBean; import org.apache.commons.lang.StringUtils; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi...

    org.apache.poi JAR包

    org.apache.poi JAR包,解决个人的 import org.apache.commons.beanutils.PropertyUtilsBean; import org.apache.commons.lang.StringUtils; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi...

    org.apache.poi JAR包 Java

    org.apache.poi JAR包,解决import org.apache.poi.hssf.usermodel.HSSFWorkbook; 支持office全系excel文件解析。 import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; ...

    poi4.1.6 org.apache.poi.xwpf.converter.core word转pdf

    poi4.1.6 org.apache.poi.xwpf.converter.core word转pdf

    org.apache.poi.xwpf.converter.pdf-1.0.6.zip

    org.apache.poi.xwpf.converter.pdf-1.0.6 org.apache.poi.xwpf.converter.core-1.0.6 org.apache.poi.xwpf.converter-0.9.1

    org.apache.poi.xwpf.converter

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如DOCX、XLSX和PPTX等。`org.apache.poi.xwpf.converter` 模块是Apache POI的一部分,它提供了将Microsoft Word 2007(DOCX)文档转换为其他...

    SpringBoot +Mybatis +POI导入、导出Excel文件

    SpringBoot结合Mybatis框架提供了高效且灵活的后端服务处理能力,而Apache POI库则专门用于处理Microsoft Office格式的文件,包括Excel。本项目通过集成这三个组件,实现了Excel文件的导入与导出功能,为业务流程...

    org.apache.poi.xwpf.converter-0.9.8.jar

    Apache POI是一个流行的开源Java库,它允许开发者处理Microsoft Office格式的文件,如Word(.docx),Excel(.xlsx)和PowerPoint(.pptx)。这个特定的资源,"org.apache.poi.xwpf.converter-0.9.8.jar",是Apache ...

    org.apache.poi.hssf.record.RecordInputStream$LeftoverDataException

    解决POI读取EXCEL时报org.apache.poi.hssf.record.RecordInputStream$LeftoverDataException异常

    SpringMVC+Hibernate +MySql+ EasyUI实现POI导出Excel

    SpringMVC+Hibernate +MySql+ EasyUI实现POI导出Excel(二) http://download.csdn.net/detail/u010651369/8170169结合开发

    org.apache.poi.hssf.usermodel.HSSFCell

    velocity开发插件org.apache.poi.hssf.usermodel.HSSFCellorg.apache.poi.hssf.usermodel.HSSFCell

    spring boot+mybatis plus+easy poi实现数据库导出成excel和excel导入到数据库.zip

    在本项目中,"spring boot+mybatis plus+easy poi实现数据库导出成excel和excel导入到数据库",开发者利用了Spring Boot、MyBatis Plus和EasyPoi库来实现了一个功能强大的数据交互系统,允许用户将数据库中的数据...

    org.apache.poi.hssf.converter,office转html所需包

    Apache POI 是一个开源项目,专门用于处理微软的Office文档格式,如Excel(.xls 和 .xlsx)、Word(.doc 和 .docx)以及PowerPoint(.ppt 和 .pptx)。在Java环境中,Apache POI 提供了丰富的API,使得开发者能够...

    org.apache.poi依赖包

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Word(.doc/.docx)、Excel(.xls/.xlsx)、PowerPoint(.ppt/.pptx)等。这个"org.apache.poi"依赖包是Java开发者在处理这些文件时不可或缺...

    android 使用poi读取高版本excel

    android 使用poi读取高版本excel, 解决以下这两个错误 java.lang.NoClassDefFoundError: Failed resolution of: Ljavax/xml/stream/XMLEventFactory; at org.apache.poi.openxml4j.opc.internal.marshallers....

    poi分多个sheet导出excel

    在Java编程中,Apache POI库是一个非常实用的工具,用于读取、写入和修改Microsoft Office格式的文件,特别是Excel(.xlsx)文件。在处理大量数据时,如果需要将数据导出到Excel,可能会遇到单个工作表(sheet)无法...

    org.apache.poi.xwpf.converter.core-1.0.2.jar.zip

    Apache POI是一个流行的开源Java库,它允许程序员创建、修改和显示Microsoft Office格式的文件,如Word(.docx)、Excel(.xlsx)和PowerPoint(.pptx)。在这个特定的场景中,"org.apache.poi.xwpf.converter.core-...

Global site tag (gtag.js) - Google Analytics