Asp classic ASP Classsic-插入Excel.XLS列或创建真正的Excel格式文件

Asp classic ASP Classsic-插入Excel.XLS列或创建真正的Excel格式文件,asp-classic,Asp Classic,我想将我的MS SQL数据添加到下面的Excel.XLS文件中 我尝试了以下方法: <% Response.Clear Response.Buffer = False Response.ContentType = "application/vnd.ms-excel" Response.AddHeader "Content-Disposition", "attachment;filename=example.xls" ' --OPE

我想将我的MS SQL数据添加到下面的Excel.XLS文件中

我尝试了以下方法:

    <% 
    Response.Clear
    Response.Buffer = False
    Response.ContentType = "application/vnd.ms-excel"
    Response.AddHeader "Content-Disposition", "attachment;filename=example.xls"

        ' --OPEN MS SQL DATABASE CODE--
        ' --OPEN RECORDSET CODE--
     %>
    <table>  
        <tr>
            <th>DEBNAME</th>
            <th>INV_ID</th>
            <th>INV_DATE</th>
            <th>PO_NO</th>
            <th>INVAMT</th>
        </tr>
    <% 'START OF: ROW LOOP 
      Do Until objRS.EOF
     %>
        <tr>
            <td><%=objRS("DEBNAME")%></td>
            <td><%=objRS("INV_ID")%></td>
            <td><%=objRS("INV_DATE")%></td>
            <td><%=objRS("PO_NO")%></td>
            <td><%=objRS("INVAMT")%></td>
        </tr>
    <%
      objRS.MoveNext
      Loop
      objRS.Close
    'END OF: ROW LOOP
     %>
</table>

黛布名
库存标识
库存日期
波乌号
入侵
然后,当我试图打开它时,它会给我以下错误:

我想这是因为文件里面只有HTML代码(我通过记事本打开它查看)

如果单击“是”,数据将显示,但我希望生成一个真实的.xls文件或使用一个空的.xls文件,克隆它,然后将数据插入其中。

谢谢你的帮助

这就是我的空.xls文件的外观

这将只是一个部分答案,因为从Excel 2007开始,我不知道您是否可以绕过该警告(除非您使用第三方库,而且我不知道ASP classic的任何库--ASP.NET有很多选择)。这是一篇MS关于这个主题的文章,它引出了黑客行为:

您可以做的是稍微修改代码,并以CSV格式交付数据。这仍然会下载并直接在Excel中打开,但您不会收到警告。下面是它的精髓:

<% 
Response.Clear
Response.Buffer = False
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment;filename=example.csv"
Response.Write "DEBNAME, INV_ID, INV_DATE, PO_NO, INVAMT" & vbCRLF
Do Until objRS.EOF
    Response.Write objRS("DEBNAME") & ", " & objRS("INV_ID") & ", " & objRS("INV_DATE") & ", " & objRS("PO_NO") & ", " & objRS("INVAMT") & vbCRLF
    objRS.MoveNext
Loop
objRS.Close
 %>

使用准备填充的空文件是最无痛的方法。
通过相关数据提供程序填写工作表后,您可以提供静态excel文件或流式处理该文件。
以下是演示:(几天后将被删除)
确保您有创建新文件的权限。
希望能有帮助。



它必须是实际的Excel.XLS格式。您知道一种简单的方法将数据插入空的/已经存在的excel.xls中吗?因为我只会克隆一个空的,重命名它,并将数据插入其中,然后将其作为一个下载文件,我知道使用您尝试的方法。如果您必须有一个无警告、无可疑的XLS文件,我建议您考虑在服务器上使用Office Web组件。看看这篇文章:这很好用,但是一旦用户下载了他们的.xls文件,我如何删除临时文件呢?@compcobal您可以流式处理文件,然后删除。看看更新后的代码和演示。太好了,谢谢(teşekkürler):-)@compcobalt很高兴能帮上忙,(rica ederim):)