Excel在经典ASP中导出

时间:2014-07-29 13:24:47

标签: excel asp-classic export-to-excel content-type

我被要求在经典的ASP应用程序中查看Prod中的一个问题。 excel导出的数据不起作用。我寻求你的帮助,因为我没有经典的asp经验。以下是用代码编写的内容:

    Session("aviAF_ExcelExporter") = buff.Contents()
    Response.Redirect("/WebFramework/content.xls")

在/ WebFramework /文件夹中有一个excel文件,名为content.xls,它写在excel文件中:

    <%
    Response.ContentType = "application/ms-excel" 
    Response.Write Session("aviAF_ExcelExporter") & vbCrLf
    %>

正在进行服务器迁移,并且自迁移应用程序以来此问题已开始。

我的问题是:

1.我们是否需要在新服务器上安装excel?

2.因为我们正在创建.xls,我们是否需要安装旧版本的excel,或者我们是否需要使用较新版本的excel创建具有相同内容的新.xls文件?

3.如果需要安装旧版本的excel,服务器是2012,我们是否可以注册任何com组件,因为无法安装旧版本的excel?

4.OR,如果需要更改代码,我们是否需要更改content.xls文件中的代码以与更新的excel兼容?如果是这样,有人可以请求如何更改代码吗?

非常感谢!

更新:

以下解决方案对我有用:

首先将content.xls更改为content.asp,然后更改代码如下:

    Session("aviAF_ExcelExporter") = buff.Contents()
    Response.Redirect("/WebFramework/content.asp")

在content.asp中,将代码更改为:

    <%
    Response.ContentType = "application/vnd.ms-excel" 
    Response.Write Session("aviAF_ExcelExporter") & vbCrLf
    %>

现在按预期导出为ex​​cel。

感谢您的关注。如果有,请分享任何其他答案。

1 个答案:

答案 0 :(得分:0)

以下解决方案对我有用:

首先将content.xls更改为content.asp,然后更改代码如下:

    Session("aviAF_ExcelExporter") = buff.Contents()
    Response.Redirect("/WebFramework/content.asp")

在content.asp中,将代码更改为:

    <%
    Response.ContentType = "application/vnd.ms-excel" 
    Response.Write Session("aviAF_ExcelExporter") & vbCrLf
    %>

现在按预期导出为ex​​cel。

感谢您的关注。如果有,请分享任何其他答案。