static byte[] ExportarRelatorio(Report report, TiposDeRelatorios tipoDeRelatorio) { FastReport.Export.ExportBase relatorio = new FastReport.Export.ExportBase(); byte[] relatorioGerado = null; switch (tipoDeRelatorio) { case TiposDeRelatorios.CSV: relatorio = new FastReport.Export.Csv.CSVExport(); break; case TiposDeRelatorios.HTML: relatorio = new FastReport.Export.Html.HTMLExport(); break; case TiposDeRelatorios.PDF: relatorio = new FastReport.Export.Pdf.PDFExport(); break; case TiposDeRelatorios.RTF: relatorio = new FastReport.Export.RichText.RTFExport(); break; case TiposDeRelatorios.TXT: relatorio = new FastReport.Export.Text.TextExport(); break; case TiposDeRelatorios.XML: relatorio = new FastReport.Export.Xml.XMLExport(); break; } using (MemoryStream relatorioExportadoEmMemoria = new MemoryStream()) { report.Report.Export(relatorio, relatorioExportadoEmMemoria); relatorioGerado = relatorioExportadoEmMemoria.ToArray(); } relatorio.Dispose(); return(relatorioGerado); }
/// <summary> /// 生成报表 保存在ExportReport目录下面 /// </summary> /// <param name="rptId">报表模板ID</param> /// <param name="paramters">报表参数</param> /// <param name="job_RPTEmailName">生成报表名称前面会加时间</param> /// <returns></returns> private List <string> ExportReport(long rptId, string paramters, string job_RPTEmailName) { var tempalte = _ReportTemplateManager.GetReportTemplateByIdAsync(rptId).Result; WebReport _webReport = new WebReport(); _webReport.Report.Load(System.AppDomain.CurrentDomain.BaseDirectory + tempalte.FilePath); var dicParameter = paramters.ToObject <Dictionary <string, string> >(); //var listDs = _DataSourceAppService.GetDataSource(jobId, dicParameter).Result; var listDs = GetDataSource(rptId, dicParameter).Result; foreach (var ds in listDs) { _webReport.Report.RegisterData(ds, ds.DataSetName); } _webReport.Width = Unit.Percentage(100); _webReport.Height = Unit.Percentage(100); #region 导出 //_webReport.Export(); _webReport.Report.Prepare(); string fileName = "ExportReport\\" + DateTime.Now.ToString("yyyyMMddHHmmss") + job_RPTEmailName; //string csvFile = System.AppDomain.CurrentDomain.BaseDirectory + fileName + ".csv"; //using (FastReport.Export.Csv.CSVExport csv = new FastReport.Export.Csv.CSVExport()) //{ // csv.Export(_webReport.Report, csvFile); //} //string excelFile = System.AppDomain.CurrentDomain.BaseDirectory + fileName + ".xls"; //using (FastReport.Export.BIFF8.Excel2003Document excel = new FastReport.Export.BIFF8.Excel2003Document()) //{ // excel.Export(_webReport.Report, excelFile); //} string xmlFile = System.AppDomain.CurrentDomain.BaseDirectory + fileName + ".xls"; using (FastReport.Export.Xml.XMLExport xml = new FastReport.Export.Xml.XMLExport()) { xml.Export(_webReport.Report, xmlFile); } //string htmlFile = System.AppDomain.CurrentDomain.BaseDirectory + fileName + ".html"; //using (FastReport.Export.Html.HTMLExport html = new FastReport.Export.Html.HTMLExport()) //{ // html.Export(_webReport.Report, htmlFile); //} //string pdfFile = System.AppDomain.CurrentDomain.BaseDirectory + fileName + ".pdf"; //using (FastReport.Export.Pdf.PDFExport pdf = new FastReport.Export.Pdf.PDFExport()) //{ // pdf.Export(_webReport.Report, pdfFile); //} List <string> pathList = new List <string>() { xmlFile }; return(pathList); ///FTP上传 //FastReport.Cloud.StorageClient.Ftp.FtpStorageClient ftp = new FastReport.Cloud.StorageClient.Ftp.FtpStorageClient(); //ftp.Server = "10.50.239.55"; //ftp.Username = "******"; //ftp.Password = "******"; //ftp.SaveReport(_webReport.Report, pdf); //ftp.SaveReport(_webReport.Report, csv); #endregion }