请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

Eden.Sun Wyn认证
超级版主   /  发表于:2025-4-11 09:45  /   查看:35  /  回复:0
本帖最后由 Eden.Sun 于 2025-4-11 10:17 编辑

    最近有很多小伙伴咨询自定义导出报表的代码书写方式,这里我们整理了三种常见的报表导出的代码,有需要的小伙伴可以参考使用。
    总体逻辑基本都类似:
    ① 加载到报表文件;
    ② 如果需要设置参数,就设置报表参数;
    ③ 创建导出目录;
    ④ 设置导出类型的配置项;
    ⑤ 导出文件。



    如导出PDF:
  1. // 导出pdf
  2. private void Form1_Load(object sender, EventArgs e)
  3. {
  4.      // Provide the page report you want to render.
  5.      //System.IO.FileInfo rptPath = new System.IO.FileInfo(@"demo有参数.rdlx");
  6.      System.IO.FileInfo rptPath = new System.IO.FileInfo(@"demo0920.rdlx");
  7.      GrapeCity.ActiveReports.PageReport pageReport = new GrapeCity.ActiveReports.PageReport(rptPath);


  8.      //传多值参数,参数是可选时,值必须来自于可选值,参数是默认时直接添加即可。
  9.      //pageReport.Report.ReportParameters[0].DefaultValue.Values.Add("西北");
  10.      //pageReport.Report.ReportParameters[0].DefaultValue.Values.Add("东北");

  11.      pageReport.Report.ReportParameters[0].DefaultValue.Values.Add("1000");
  12.      pageReport.Report.ReportParameters[1].DefaultValue.Values.Add("华北");
  13.      pageReport.Report.ReportParameters[1].DefaultValue.Values.Add("华东");
  14.      pageReport.Report.ReportParameters[1].DefaultValue.Values.Add("东北");


  15.      // Create an output directory.
  16.      System.IO.DirectoryInfo outputDirectory = new System.IO.DirectoryInfo(@"C:\Users\bellayuan\Downloads\MyPDF");
  17.      outputDirectory.Create();

  18.      // Provide settings for your rendering output.
  19.      GrapeCity.ActiveReports.Export.Pdf.Page.Settings pdfSetting = new GrapeCity.ActiveReports.Export.Pdf.Page.Settings();

  20.      // Set the rendering extension and render the report.
  21.      GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension pdfRenderingExtension = new GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension();
  22.      GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider outputProvider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, System.IO.Path.GetFileNameWithoutExtension(outputDirectory.Name));

  23.      // Overwrite output file if it already exists
  24.      outputProvider.OverwriteOutputFile = true;

  25.      pageReport.Document.Render(pdfRenderingExtension, outputProvider, pdfSetting);
  26. }
复制代码

    其他的导出逻辑都类似,大家可以从附件中的 demo 进行参考。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部