예제 #1
0
        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);
        }
예제 #2
0
        /// <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
        }