我正在使用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文件?
答案 0 :(得分:0)
我对水晶报告一无所知,但如果您的浏览器没有查看excel文档的实现,那么它只会下载它们。除非Web应用程序本身实现了文档的显示,否则我无法使用浏览器打开Excel文档。
基本上,您必须实现自己显示excel文档的MVC。您的浏览器不支持开箱即用。