【问题标题】:Render Excel File渲染 Excel 文件
【发布时间】:2008-12-12 08:38:57
【问题描述】:

我实际上是在浏览器中渲染一个 excel 文件。我使用 Response.Writefile(filePath) 来做到这一点。它在几台机器上工作得非常好。我收到一个带有“打开”、“保存”和“取消”选项的弹出窗口。

但如果我在弹出窗口中单击保存后很少有机器,一个普通的空白页面仍然打开。这只发生在少数机器上。这个窗口只是在另一台机器上闪烁并自行关闭。请告诉我可以采取哪些措施来避免在打开或保存文件后自行关闭这个纯空白页面。

【问题讨论】:

    标签: .net asp.net javascript vb.net


    【解决方案1】:

    您是否设置了任何 HTTP 标头?如果不是,则您依赖浏览器来正确解释数据。

    告诉浏览器您正在发送 excel 内容:

    Response.ContentType = "application/x-excel";
    

    告诉浏览器将响应视为下载:

    Response.AddHeader("content-disposition", "inline; filename=\"" + YourSuggestedFileName + "\"");
    

    给您带来麻烦的机器可能不知道如何处理 excel 数据。

    【讨论】:

    • 这很好。但我还是有问题。当它在单独的资源管理器页面中打开时,我需要选择将文件另存为 file.xls 文件。但是当我登录应用程序时,我禁用了菜单栏。无论如何我只能为这个单页启用它吗?
    • 这也适用于 ASP.NET MVC 3,就像您发布的那样。非常有用。
    【解决方案2】:

    这种方法的问题是日期字段和数字字段都呈现为字符串。如果最终用户想要对这些字段进行排序,则必须显式修改这些字段的类型。

    如果您有预算,我建议您使用以下组件: Aspose.Cells

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-06
      • 2012-07-23
      • 1970-01-01
      • 2022-11-29
      • 2011-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多