Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xpages 要导出到Excel的XAgent_Xpages_Xpages Ssjs - Fatal编程技术网

Xpages 要导出到Excel的XAgent

Xpages 要导出到Excel的XAgent,xpages,xpages-ssjs,Xpages,Xpages Ssjs,通过XPage XAgent导出数据时出现问题。所有这些在IE和Firefox中都可以正常工作,但Chrome不承认它是Excel电子表格,而是下载并保存为XPage(report.xsp)的名称。。只是做一些简单的事情 var exCon = facesContext.getExternalContext(); var writer = facesContext.getResponseWriter(); var response = xxCon.getResponse();response.s

通过XPage XAgent导出数据时出现问题。所有这些在IE和Firefox中都可以正常工作,但Chrome不承认它是Excel电子表格,而是下载并保存为XPage(report.xsp)的名称。。只是做一些简单的事情

var exCon = facesContext.getExternalContext();
var writer = facesContext.getResponseWriter();
var response = xxCon.getResponse();response.setContentType("application/vnd.ms-excel");
response.setHeader("Cache-Control", "no-cache");
writer.write("<table border=\"1\">");
writer.write("<thead><tr>");
etc...
var exCon=facesContext.getExternalContext();
var writer=facesContext.getResponseWriter();
var response=xxCon.getResponse();response.setContentType(“application/vnd.ms excel”);
setHeader(“缓存控制”、“无缓存”);
作者:写(“”);
作者:写(“”);
等

是我遗漏了什么,还是有更好的方法?感谢您的帮助。

您需要设置内容处置标题,以告知浏览器文件名

下面是一个例子:

response.setHeader("Content-Disposition","attachment; filename=filename.xls"

您是否正在设置通知浏览器文件名的内容配置标头?您好,请按。。。谢谢我添加了响应。setHeader(“内容处置”,“附件;filename=CompareABull.xlsx”)现在Excel拒绝打开该文件,所以Chrome现在会按预期下载该文件吗?Excel怎么说?嗨,Per,Excel说“Excel无法打开文件”CompareABull.xlsx“,因为文件格式或文件扩展名无效。请验证文件是否已损坏,以及文件扩展名是否与“确定”按钮的文件格式匹配,并且是否未打开。我已将扩展名从.xlsx更改为.xls,现在似乎正常工作。感谢Per,关于内容处置的课程看起来已经完成了。