FastReport C# 导出

复制代码
Report report = new Report();
var frxfile = HttpContext.Current.Server.MapPath(StaticPathEnum.UserResRoot + filePath);
report.Load(frxfile);
report.RegisterData(ds, "Data");
var p = report.Prepare(true);

if (p)
{
    var xlsFileName = taskNo + "-" + DateTime.Now.ToString("HH-mm-ss") + ".xlsx";
     SavePrintXlsBakFile(xlsFileName, report);
}
复制代码

导出Excel

复制代码
        private static void SavePrintXlsBakFile(string xlsFileName, Report report)
        {
            FastReport.Export.OoXML.Excel2007Export xlsExport = new FastReport.Export.OoXML.Excel2007Export();
            xlsExport.ShowProgress = false;

            MemoryStream strm = new MemoryStream();
            report.Export(xlsExport, strm);

            strm.Position = 0;

            var xlsFilePath = HttpContext.Current.Server.MapPath(StaticPathEnum.PrintXlsBakPath + "\\" + DateTime.Now.ToString("yyyy-MM-dd"));
            if (!Directory.Exists(xlsFilePath))
            {
                Directory.CreateDirectory(xlsFilePath);
            }
            FileStream fs = new FileStream(xlsFilePath + "\\" + xlsFileName, FileMode.Create);
            strm.WriteTo(fs);
            strm.Close();
            fs.Close();

            xlsExport.Dispose();
            strm.Dispose();
            fs.Dispose();
        }
复制代码

 PDF

复制代码
        private static void SavePrintPdfBakFile(string xlsFileName, Report report)
        {
            FastReport.Export.Pdf.PDFExport pdfExport = new FastReport.Export.Pdf.PDFExport();
            pdfExport.ShowProgress = false;
            pdfExport.Subject = "Subject";
            pdfExport.Title = System.IO.Path.GetFileNameWithoutExtension(xlsFileName);
            pdfExport.Compressed = true;
            pdfExport.AllowPrint = true;
            pdfExport.EmbeddingFonts = true;

            MemoryStream strm = new MemoryStream();
            report.Export(pdfExport, strm);

            strm.Position = 0;

            var xlsFilePath = HttpContext.Current.Server.MapPath(StaticPathEnum.PrintFileBakPath + "\\" + DateTime.Now.ToString("yyyy-MM-dd"));
            if (!Directory.Exists(xlsFilePath))
            {
                Directory.CreateDirectory(xlsFilePath);
            }
            FileStream fs = new FileStream(xlsFilePath + "\\" + xlsFileName, FileMode.Create);
            strm.WriteTo(fs);
            strm.Close();
            fs.Close();

            pdfExport.Dispose();
            strm.Dispose();
            fs.Dispose();
        }
复制代码

 

posted @   竹殇  阅读(3160)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示