【问题标题】:How to generate MS-Excel file using ASP web application?如何使用 ASP Web 应用程序生成 MS-Excel 文件?
【发布时间】:2009-11-17 15:04:27
【问题描述】:

根据我的应用程序,我需要生成 Excel 文件。

我能够生成 excel 文件:

Response.ContentType = "application/vnd.ms-excel" 在标题中并通过创建 HTML 表填充数据。

但是在尝试创建一个从服务器位置获取它并将数据保存到其中的文件时(这里我们正在创建 excel 对象来生成文件),网页以 DONE 状态打开,并带有空白页和源文件以 HTML 格式显示数据。 当我尝试使用路径显式打开文件时,出现以下错误:

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

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

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

  1. 确保指定的文件夹存在。
  2. 确保包含该文件的文件夹不是只读的。
  3. 确保文件名不包含以下任何字符 ? [ ] : |或 *
  4. 确保文件/路径名包含的字符不超过 218 个。

注意:以上所有条件都成立。

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

此文件不是可识别的格式。

然后它以加密格式打开。

谁能告诉我可能是什么问题?

【问题讨论】:

    标签: excel asp-classic


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 得到相同的结果,即完成状态的空白页。
      【解决方案3】:

      我做过一次,太难了。基本上存在各种安全限制,因此从 Web 上下文中调用 excel COM API 非常困难。您最好使用 xml 编写器生成一个 excel 2007 文件。我没用过,但有人建议ExcelXmlWriter 让它更容易

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-06
        • 2016-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多