<% Response.ContentType = "application / vnd.ms-excel"%> Просто загружает файл ASP - PullRequest
0 голосов
/ 18 октября 2018

У меня есть старый сайт, который я пытаюсь удалить, но перед этим мне нужно экспортировать все данные.Оригинальный дизайн сайта включает файл 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 голосов
/ 22 октября 2018

Я знаю, что это не решает исходную проблему, но я нашел обходной путь.На сайте есть поисковая система с минимумом трех символов, и я обнаружил, что, если я добавлю три символа подчеркивания (подстановочные знаки SQL), я смогу вывести всю необходимую информацию на страницу результатов поиска, а затем скопировать и вставить в Excel.

Спасибо за вашу помощь.

0 голосов
/ 24 октября 2018

я использую экспорт данных в MS Excel

попробуйте эти страницы.

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

0 голосов
/ 18 октября 2018

Попробуйте это вверху страницы

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

Я должен добавить, что если вы используете Chrome, он запросит у вас множество разрешений, прежде чем запустит файл в Excel

...