解决把水晶报表下载到客户端过程中,出现下载整个页面(.aspx)或者直接载web页中打开word文件的问题!
Posted on 2004-11-23 09:28 wngwz 阅读(2752) 评论(1) 编辑 收藏 举报
给一段代码,研究一下,希望对遇到这样问题的朋友有所帮助。
这里特别感谢:浩子的无私帮助!
http://www.cnblogs.com/haozidong
private void btnOutForWord_Click( object sender, System.EventArgs e )
{
if ( Session["reportname"] != null && Session[Session["reportname"].ToString()] != null )
{
ReportDocument oRpt = new ReportDocument();
oRpt = ( ReportDocument )Session[Session["reportname"].ToString()];
crvMain.ReportSource = oRpt;
![](/Images/OutliningIndicators/InBlock.gif)
//设置导出选项。
ExportOptions myExp = new ExportOptions();
![](/Images/OutliningIndicators/InBlock.gif)
myExp.ExportFormatType = ExportFormatType.WordForWindows; //导出到Word格式
//myExp.ExportFormatType = ExportFormatType.Excel; //导出到Excel格式
//myExp.ExportFormatType = ExportFormatType.PortableDocFormat; //导出到Pdf格式
![](/Images/OutliningIndicators/InBlock.gif)
//定义导出内容
ExportRequestContext myExpReq = new ExportRequestContext();
myExpReq.ExportInfo = myExp;
![](/Images/OutliningIndicators/InBlock.gif)
//产生报表Stream
Stream myReportStream;
myReportStream = oRpt.FormatEngine.ExportToStream(myExpReq);
Response.ClearHeaders();
Response.ClearContent();
![](/Images/OutliningIndicators/InBlock.gif)
Response.ContentType = "application/msword";
Response.AddHeader("Content-disposition","attachment; filename=" + DateTime.Now.ToString("yyyyMMddhhssmm") + ".doc");
![](/Images/OutliningIndicators/InBlock.gif)
//Response.ContentType = "application/vnd.ms-excel";
//Response.AddHeader("Content-disposition","attachment; filename=" + year.ToString() + "." + month.ToString() + ".xls");
![](/Images/OutliningIndicators/InBlock.gif)
//Response.ContentType = "application/pdf";
//Response.AddHeader("Content-disposition","attachment; filename=" + year.ToString() + "." + month.ToString() + ".pdf");
![](/Images/OutliningIndicators/InBlock.gif)
byte[] myReportByte = new byte[myReportStream.Length];
myReportStream.Read( myReportByte,0,(int)myReportStream.Length );
Response.BinaryWrite( myReportByte );
Response.Flush();
Response.End();
}
}
这里特别感谢:浩子的无私帮助!
http://www.cnblogs.com/haozidong
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)