<%Response.ContentType =“ application / vnd.ms-excel”%>只需下载ASP文件

时间:2018-10-18 16:23:44

标签: asp-classic xls

我有一个要删除的旧站点,但是在此之前,我需要导出所有数据。原始站点设计包括一个ASP文件,该文件旨在从数据库表中获取数据并将其编译为excel文件,但是,当您单击站点上的链接时,它所做的只是下载ASP文件(它也仅用于在IE或Edge而不是Chrome上做到这一点。

下面的代码,将有助于您完成此工作。我进行了许多搜索并尝试了许多建议,但没有一个奏效。

<%  Response.ContentType = "application/vnd.ms-excel"%>

<head>
<style type="text/css">
.style1 {
    text-align: left;
}
</style>
</head>

<!--#include file="../../low/connectDB.asp"-->
<!--#include file="../../low/functions.inc"-->



<body style="margin: 0">
<table style="width: 100%" cellpadding="4" cellspacing="0">
    <tr>
        <td colspan="10"><strong>Lake of the Woods Association, Inc.</strong></td>
    </tr>
    <tr>
        <td colspan="10"><strong>Schedule of Those Who Have Passed the LOWA Boat Certification 
                Course</strong></td>
    </tr>
    <tr>
        <td colspan="10"><strong>As of <%=date%></strong></td>
    </tr>
    <tr>
        <td style="width: 150"><strong>Type</strong></td>
        <td style="width: 250"><strong>First Name</strong></td>
        <td style="width: 250"><strong>Last Name</strong></td>
        <td style="width: 250"><strong>Address</strong></td>
        <td style="width: 120"><strong>Lot</strong></td>
        <td style="width: 120"><strong>Section</strong></td>
        <td style="width: 120"><strong>Course</strong></td>
        <td style="width: 120"><strong>VA Boat Id</strong></td>
        <td style="width: 120"><strong>Minutes</strong></td>
        <td style="width: 120"><strong>Grade</strong></td>
        <td style="width: 120"><strong>Status</strong></td>
    </tr>
<%  tottimes=1
    Set DB1 = Server.CreateObject("ADODB.Connection")
        DB1.Open(lowdbstring)
            Set RS1 = DB1.Execute ("SELECT * FROM course_applicants WHERE passfail = 'pass' ORDER BY MID ASC, grade DESC, ID DESC")  
                Do until RS1.EOF
                IF LSTMID<>RS1("MID") THEN
                    ncount=ncount+1
                    IF RS1("test_id") = "2" THEN
                        course="Short"
                    ELSE
                        course="Long"   
                    END IF

                    Set RS0 = DB1.Execute ("SELECT * FROM members WHERE ID = '"& RS1("MID") &"'")  
                        Do until RS0.EOF
                    IF RS0("mtype") = "G" THEN
                        mt="Guest"
                    ELSE
                        mt="Member" 
                    END IF


    %>  
                        <tr>
                            <td style="width: 150"><%=mt%></td>
                            <td style="width: 250"><%=RS0("fname")%></td>
                            <td style="width: 250"><%=RS0("lname")%></td>
                            <td style="width: 250"><%=RS0("address1")%></td>
                            <td style="width: 120"><%=RS0("lot")%></td>
                            <td style="width: 120"><%=RS0("section")%></td>
                            <td style="width: 120"><%=course%></td>
                            <td class="style1" style="width: 120"><%=RS1("VBcustID")%></td>
                            <td class="style1" style="width: 120"><%=RS1("tottesttime")%></td>
                            <td class="style1" style="width: 120"><%=FormatPercent(RS1("grade"),0)%></td>
                            <td class="style1" style="width: 120"><%=RS1("passfail")%></td>
                        </tr>
            <%          
                        RS0.MoveNext
                        loop
                    RS0.Close

                    tottimes=1
                    LSTMID=RS1("MID")
                    ELSE
                        tottimes=tottimes+1
                    END IF
                RS1.MoveNext
            loop
        RS1.Close
    DB1.Close       
%>
    </table>

3 个答案:

答案 0 :(得分:0)

在页面顶部尝试

<%
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment; filename=whatever-you-want-to-call-it.xls"
%>

我应该补充一点,如果您使用的是Chrome浏览器,它将在Excel中启动文件之前要求您加载大量权限

答案 1 :(得分:0)

我知道这不能解决原始问题,但是我找到了解决方法。该网站的搜索引擎至少包含三个字符,我发现如果我在三个下划线(SQL通配符)中加了一个,则可以将所需的所有信息都拉到搜索结果页面上,然后可以复制并粘贴到excel中

感谢您的帮助。

答案 2 :(得分:0)

我使用datatable导出到ms excel

尝试这些页面。

https://datatables.net/extensions/buttons/examples/initialisation/export.html