lovelyboy01 发表于 2017-8-14 18:10:18

关于报表导出支持JPG

老师好,
      目前遇到一个需求,希望报表导出支持JPG格式,群里郭老师表示可以支持,问题是我们现在实现方式为WebViewer的方式,其实导出和打印不提供,后来也是在这里发帖得到郭老师的指点才实现的。
代码如下:
$("#ExportSelect").change(function (e, args) {
            var valueSelected = this.value;
            if (viewModel.PageLoaded()) {
                switch (valueSelected) {
                  case "PDF":
                        viewModel.Export(ExportType.Pdf, function (uri) {
                            window.location = uri;
                        }, true);
                        break;
                  case "Excel":
                        viewModel.Export(ExportType.Xls, function (uri) {
                            window.location = uri;
                        }, true);
                        break;
                }
            }
      }
如何支持JPG还希望能给提供个例子。
另外还有一个问题就是,报表导出时默认保存的名字,能不能自己修改呢,比如定义成报表数据源中的项的动态值,这个怎么实现呢,还请老师指教。

KearneyKang 发表于 2017-8-15 14:42:28

您好,导出为图片格式只有页面报表和RDL报表才可以,区域报表不可以
具体实现代码如下:
   private void ExportJPG(HttpContext context, PageReport pr)
      {
            GrapeCity.ActiveReports.PageReport report = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(context.Server.MapPath("PageReport1.rdlx")));
            GrapeCity.ActiveReports.Document.PageDocument reportDocument = new GrapeCity.ActiveReports.Document.PageDocument(report);

            // Create an output directory.
            System.IO.DirectoryInfo outputDirectory = new System.IO.DirectoryInfo(@"D:\MyImage");
            outputDirectory.Create();

            // Provide settings for your rendering output.
            GrapeCity.ActiveReports.Export.Image.Page.Settings imageSetting = new GrapeCity.ActiveReports.Export.Image.Page.Settings();
            GrapeCity.ActiveReports.Extensibility.Rendering.ISettings setting = imageSetting;

            // Set the rendering extension and render the report.
            GrapeCity.ActiveReports.Export.Image.Page.ImageRenderingExtension imageRenderingExtension = new GrapeCity.ActiveReports.Export.Image.Page.ImageRenderingExtension();
            GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider outputProvider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, System.IO.Path.GetFileNameWithoutExtension(outputDirectory.Name));

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

            reportDocument.Render(imageRenderingExtension, outputProvider, imageSetting);

      }
具体demo在附件
页: [1]
查看完整版本: 关于报表导出支持JPG