2

在我的工作中,我们有一些要求,包括使用 asp。我们对此没有经验,我在stackoverflow的其他主题中找不到解决这个问题的方法

问题是,如果我把

<%  Option Explicit
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment; filename=excelTest.xls"
%>

整个页面转到 excel 文件。

我希望生成的 xls 文件中只有一个表。

我想要的表是由这一行生成的:

<% =Result %>

怎样才能做到这一点?

thxxx

4

1 回答 1

2

您需要在 URL 中添加一些内容,以使对 XLS 版本的请求与标准版本不同。

通常,您使用查询字符串值执行此操作,因此您的 URL 变为 http://yoursite.com/yourpage.asp?mode=xls.

现在在您的代码中,您可以使用:

<%
Option Explict
Dim result

''# Build Table into result variable

If Request.QueryString("mode") = "xls" Then 
    Response.ContentType = "application/vnd.ms-excel"    
    Response.AddHeader "Content-Disposition", "attachment; filename=excelTest.xls" 
Else
%>
<html>
    <!-- Normal HTML before the table here -->
<%
End If

Response.Write result

If Request.QueryString("mode") <> "xls" Then
%>
    <!-- Normal HTML after the table -->
</html>
<%
End If
%>

在你的页面中包含一条回到自身的行?mode=xls,最后用户将启动excel,只加载表格。

于 2012-06-22T20:58:37.760 回答