找回密码
 立即注册

QQ登录

只需一步,快速开始

lovelyboy01

金牌服务用户

19

主题

35

帖子

140

积分

金牌服务用户

积分
140

活字格认证

lovelyboy01
金牌服务用户   /  发表于:2017-8-14 18:10  /   查看:3456  /  回复:1
老师好,
        目前遇到一个需求,希望报表导出支持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还希望能给提供个例子。
另外还有一个问题就是,报表导出时默认保存的名字,能不能自己修改呢,比如定义成报表数据源中的项的动态值,这个怎么实现呢,还请老师指教。

1 个回复

倒序浏览
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-8-15 14:42:28
沙发
您好,导出为图片格式只有页面报表和RDL报表才可以,区域报表不可以
具体实现代码如下:
  1.    private void ExportJPG(HttpContext context, PageReport pr)
  2.         {
  3.             GrapeCity.ActiveReports.PageReport report = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(context.Server.MapPath("PageReport1.rdlx")));
  4.             GrapeCity.ActiveReports.Document.PageDocument reportDocument = new GrapeCity.ActiveReports.Document.PageDocument(report);

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

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

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

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

  16.             reportDocument.Render(imageRenderingExtension, outputProvider, imageSetting);

  17.         }
复制代码
具体demo在附件

本帖子中包含更多资源

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

x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部