我一直试图解决这个问题两个小时,我无法理解。
onclick = "location='exceltest.asp?vanjaar=<%=vanjaar%>&vanmaand=<%=vanmaand%>&vandag=<%=vandag%>&totjaar=<%=totjaar%>&totmaand=<%=totmaand%>&totdag=<%=totdag%>'"
该代码行位于&lt; input type =“button”/&gt;属性。该按钮链接到应该触发Excel下载的页面。 URL中的值是from和date-parts部分。 (年,月,日)
这样:
onclick = "location='exceltest.asp?fromdate=<%=fromdate%>&todate=<%=todate%>'" />
不起作用,因为IE7以某种方式读取日期(例如2008/1/1)错误。我认为与斜杠有关。
但是当我尝试单击IE中的按钮并因此下载生成的文件时,Internet Explorer会尝试下载该文件
exceltest.asp?vanjaar = 2008vanmaand = 1vandag = 1totjaar = 2008totmaand = 2totdag = 1
而不是我想要的excel文件 FF提供下载excelfile,但给(在那个excelfile)一个htmlpage的概述,错误消息告诉我我的查询是错误的(项目不能在对应于所请求的名称或序号的集合中找到。)但是不能是的,我在其他地方使用完全相同的查询,使用相同(但重新启动)的连接。
这是我用来实例化文件下载的代码:
Response.Buffer = TRUE
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "content-disposition", "attachment; filename=overicht.xls"
这里可能会发生一些事情,但我最感兴趣的是IE为什么要下载asp页面而FF提供正确的下载。
答案 0 :(得分:4)
&
内的onclick=""
应该被html编码为&
如果fromdate包含斜杠,那么你也可能最安全地对其进行url编码(尽管你似乎与你的示例网址相矛盾)。
答案 1 :(得分:0)
可能有用的东西:Server.URLEncode
fromdate=<%=Server.URLEncode(fromdate)%>
但是,您的Excel文件错误 - 项目在与所请求的名称或序号相对应的集合中找不到。 - 来自 Recordset.Fields()
。您正试图获取一个不可用的字段 - 您的查询中不存在的列名称或超出列数的索引。