ReportService 报表的导出。

           要导出报表就要用ReportService 的webservice方法。
            ReportWebService.ReportingService rService = new Egensource.EIPPortal.DocMagrSys.ReportWebService.ReportingService();
            rService.Credentials = System.Net.CredentialCache.DefaultCredentials;
            byte[] result;
            //render arguments
            string ReportPath = "/ReportProject";
            string format = "Excel";
            string historyID = null;
            string devInfo = null;
            // Prepare report parameter.

            ParameterValue[] parameters = new ParameterValue[3];
            parameters[0] = new ParameterValue();
            parameters[0].Name = "sid";
            parameters[0].Value = sid;

            parameters[1] = new ParameterValue();
            parameters[1].Name = "team";
            parameters[1].Value = team;

            parameters[2] = new ParameterValue();                                                                                                                                                                                                                                                                                              
            parameters[2].Name = "name";
            parameters[2].Value = name;


            DataSourceCredentials[] credentials = null;
            string showHideToggle = null;
            string encoding;
            string mimeType;
            Warning[] warnings = null;
            ParameterValue[] reportHistoryParameters = null;
            string[] streamIDs = null;
            SessionHeader sh = new SessionHeader();
            rService.SessionHeaderValue = sh;
            try
            {
                result = rService.Render(ReportPath, format, historyID, devInfo, parameters, credentials,
                    showHideToggle, out encoding, out mimeType, out reportHistoryParameters, out warnings,
                    out streamIDs);                //读取报表excel格式
            }
            catch
            {
                throw new Exception("报表导出异常!");
            }
            HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";  //发送给用户
            HttpContext.Current.Response.AppendHeader("Content-disposition", "attachment;filename=ddd.xls");
            HttpContext.Current.Response.BinaryWrite(result);
            HttpContext.Current.Response.End();

posted @ 2007-08-09 14:01  KID  阅读(487)  评论(0编辑  收藏  举报