如何强制excel文件在浏览器中打开而不是下载?

时间:2015-08-05 20:12:22

标签: asp.net-mvc crystal-reports asp.net-mvc-5

我正在使用pdf和excel文件的MVC5 Crystal报告,我的代码适用于在Web浏览器中查看的pdf,但是当我将内容类型更改为excel文件时,仅下载,

public ActionResult Summary(string startDate, string endDate, string summaryBy, string reportType)
    {
        using (MMTModel entity = new MMTModel())
        {
            string CryRpt_Name = null;
            ObjectResult<DeeqtoonSummary> ObjRsl = null;
            if (reportType == "Summary")
            {
                CryRpt_Name = "Summary.rpt";
                ObjRsl = entity.rpt_Summary(startDate, endDate, summaryBy);
            }
            else if (reportType == "Detail")
            {
                CryRpt_Name = "Detail.rpt";
                ObjRsl = entity.rpt_Detail(startDate, endDate);
            }

            ReportDocument rpt = new ReportDocument();
            rpt.Load(Path.Combine(rpt.FileName = Server.MapPath("~/CrystalReports"), CryRpt_Name));

            List<Summary> ObjRslLst = ObjRsl.ToList();
            rpt.SetDataSource(ObjRslLst);
            try
            {
                //Excel file
                Stream stream = rpt.ExportToStream(ExportFormatType.Excel);
                return File(stream, "application/vnd.ms-excel");

                //pdf file
                Stream stream = rpt.ExportToStream(ExportFormatType.PortableDocFormat);
                return File(stream, "application/pdf");
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
    }
}

如何强制在网络浏览器中打开excel文件?

1 个答案:

答案 0 :(得分:0)

我对水晶报告一无所知,但如果您的浏览器没有查看excel文档的实现,那么它只会下载它们。除非Web应用程序本身实现了文档的显示,否则我无法使用浏览器打开Excel文档。

基本上,您必须实现自己显示excel文档的MVC。您的浏览器不支持开箱即用。