我試圖導出一個記錄集到Excel中,但它似乎在生產服務器上保持失敗。但是,它似乎在我的開發工作站上工作得很好。我想知道我適合的服務器相關的問題,但我有其他的應用程序,可以使用相同的確切代碼,良好的類似代碼相同的設置導出很好。從傳統的ASP導出數據到excel文件失敗
<%@ Language=VBScript %>
<%Response.expires = -1%>
<%response.buffer = true%>
<%
Dim today
today = "_" + Replace(Date,"/","") + "_" + Replace(Time(),":", "")
Response.Charset = "ANSI"
Response.ContentType = "application/octet-stream"
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment; filename=List" + today + ".xls"
Response.ContentType = "application/download"
set Cnn = server.CreateObject("ADODB.connection")
Cnn.ConnectionString = Application("Cnn_ConnectionString")
Cnn.open
set rs1 = server.CreateObject("ADODB.Recordset")
SQLCollections = "Sp_MysProc @Param1=" & Session("var1")
rs1.open SQLCollections,cnn
%>
<html>
<body>
<table>
<tr>
<td>Number</td>
<td>Name</td>
</tr>
<%if not rs.eof then
do while not rs.eof %>
<tr>
<td><%=rs("Number") %></td>
<td><%=rs("Name") %></td>
</tr>
<%
rs.MoveNext
Loop
rs.Close
set rs = Nothing
End if
%>
</table>
</body>
</html>
再次,這從我的機器工作。但是,當我從生產做它給了我下面的消息:
Internet Explorer無法下載從www.mydomain.com
MyFile.asp的Internet Explorer無法打開 本網站。請求的站點 要麼不可用,要麼不能找到 。請稍後再試。
超出錯誤是否有任何方法可以使其導出並不顯示爲帶有白色背景且不帶線條的HTML,即像真正的Excel文件那樣?
編輯: 內容類型已根據Anthony的答案進行了更正。
日期不是硬編碼,以允許每天創建多個文件,無需任何用戶干預(用戶請求)。
我已更新刪除If Not EOF。我一直注意到很多長時間運行的連接,也許圍繞着這個應用程序有許多這類問題。謝謝你的提示。此外,它仍然工作desipte沒有記錄集是按要求。
編輯2 我固定在EOF問題與不正確的列名(哎呀!),它現在可以正確下載從生產我的電腦上。我有Office 2007,但至少還有一臺電腦不能下載。這臺其他電腦上有Office 2000。但是刪除標題並允許它在所有機器上工作的HTML都可以使用。
Office 2000可能會遇到這種問題嗎?
它顯示任何記錄(在生產中),如果您刪除contenttype和處置相關的標頭? – shahkalpesh 2009-07-28 20:04:22
在瀏覽器上的頁面上查看源代碼,並在此處發帖,瞭解它的內容。 – shahkalpesh 2009-07-28 21:27:34