2

ここで私の仕事には、asp での作業を含むいくつかの要求がありました。私たちはそれについて経験がなく、スタックオーバーフローの他のトピックでこの問題の解決策を見つけることができませんでした

問題は、私が置くと

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

ページ全体が Excel ファイルに移動します。

生成された xls ファイルに含まれるテーブルは 1 つだけです。

私が欲しいテーブルは、この行によって生成されています:

<% =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 に答える