如何使用ASP Web应用程序生成MS-Excel文件?

时间:2009-11-17 15:04:27

标签: excel asp-classic

根据我的申请,我需要生成Excel文件。

我可以用:

生成excel文件

标题中的Response.ContentType =“application / vnd.ms-excel”,并通过创建HTML表格填充数据。

但是在尝试创建从服务器位置获取文件并将数据保存到其中的文件时(此处我们创建excel对象以生成文件),网页将打开,其中 DONE 状态为空白页面,源文件以HTML格式显示数据。 当我尝试使用路径显式打开文件时,我收到以下错误:

它显示了多个错误,如下所示: 注意:(MS-Excel DLL)安装在服务器位置。

错误消息-1: 宏可能包含病毒。禁用宏通常是安全的,但如果宏是合法的,则可能会丢失某些功能。 注意:文件中没有宏 在单击启用宏时,会收到第二条错误消息:

无法访问该文件。请尝试以下方法之一:

  1. 确保指定的文件夹存在。
  2. 确保包含该文件的文件夹不是只读文件。
  3. 确保文件名不包含以下任何字符< > ? []:|或者*
  4. 确保文件/路径名称不超过218个字符。
  5. 注意:以上所有条件都适用。

    最后点击“确定”会显示错误消息:

    此文件格式不正确。

    然后以加密格式打开。

    有谁能让我知道可能是什么问题?

3 个答案:

答案 0 :(得分:0)

我很想用XML formal(.xlsx)构建Excel文件。您根本不需要安装excel或使用它的对象模型,您可以从模板.xlsx文档开始,该文档将包含任何静态项目和页面布局类型的东西,然后只需将您的内容插入正确的位置。 / p>

如果你有一个现有的Excel(.xlsx)文档,你可以打开它并通过重命名并添加.zip扩展名来查看里面的内容(office 2007文档实际上是zip文件)。

答案 1 :(得分:0)

我这样做了一次,它很难受。基本上存在各种安全限制,因此在Web上下文中很难对excel COM API进行调用。您最好使用xml writer生成excel 2007文件。我没有使用它,但有些人建议这个ExcelXmlWriter使这更容易

另一种选择是写出CSV文件而不是excel文件。你不会得到很酷的公式或格式,但它是最兼容的。

答案 2 :(得分:0)

您是否从服务器上的Excel收到此错误消息?如果这样做,则需要降低Excel中的宏安全性。要做到这一点,最简单的方法是以打开Excel的用户身份登录服务器,并将宏安全级别降低到适当的级别。

否则,每次打开工作表时都会提示您输入此服务器端 - 这是一个安全功能。

至于其余部分,请发布一些示例代码,说明如何自动执行Excel步骤。