Foxtable(狐表)用户栏目专家坐堂 → [分享]锐浪报表Grid++Report在狐表的应用(合集)2023.12.23更新


  共有111819人关注过本帖树形打印复制链接

主题:[分享]锐浪报表Grid++Report在狐表的应用(合集)2023.12.23更新

帅哥哟,离线,有人找我吗?
linyunu
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:251 积分:1869 威望:0 精华:2 注册:2018/1/16 20:53:00
[分享]锐浪报表Grid++Report在狐表的应用(合集)2023.12.23更新  发帖心情 Post By:2021/6/19 21:21:00 [显示全部帖子]

概述

Grid++Report是一款同时支持C/S软件(桌面程序)与B/S软件(WEB程序)开发的报表工具,功能全面易学易用。C/S开发适用于VB.NET、C#、VB、VC、Delphi、C++Builder、QT与易语言等。B/S开发适用于ASP.NET(C# & VB.NET),PHP,JSP(JAVA)等,支持所有WEB服务器。开发C/S报表与B/S报表的编程接口、报表模板与报表数据通用,共享相同的开发知识与设计资源。

Grid++Report开发源自2003年,产品成熟稳定,功能丰富且运行性能好。用户基本是软件公司和单位信息部门,其中不乏众多大型公司。注册费用低廉,因可免费使用而积累大量用户,从而保证了软件的高可靠性与高性能。

Grid++Report整个产品目前包括“报表组件”、“报表插件”,“HTML5报表”与“报表服务器”。报表组件用于开发Windows桌面程序,含单机版程序与客户服务器(C/S)程序。报表插件,HTML5报表与报表服务器用于开发WEB软件。报表插件是浏览器下的插件程序,具有非常强大的功能,但受部分浏览器禁用插件的限制,使用范围上有局限性。HTML5报表是客户端纯JavaScript脚本程序,应用浏览器对HTML5的支持,实现报表与图表在浏览器中的展现,但没法实现直接的打印功能与报表数据导出功能。报表服务器在WEB服务器上生成报表,并把生成的结果响应给客户端浏览器。

特点

  • 支持C/S报表与B/S报表开发,支持众多开发工具与开发语言,C/S开发:VB.NET、C#、VB、VC、Delphi等,B/S开发:ASP.NET、PHP、JSP等,支持所有WEB服务器。
  • 语言界面集成支持多国语言,同一程序支持多语言,可以实时切换界面语言。
  • 功能强大,稳定高效:实现普通格式报表、表格报表、多层表头、piao据套打、交叉表等各种报表非常简便;报表完全可编程定义,适合开发通用软件中的动态报表。
  • 独有的报表查询显示功能:提供报表查询与输出的集成一次性实现,保证数据不同展现方式的一致性与完整性。
  • 报表数据来源丰富:支持绑定与非绑定,一切数据库数据与其它数据都可以作为报表数据源;既可以设定数据源连接串与查询SQL语句绑定报表数据(报表数据拉模式),也可以将应用程序中访问到的数据提供给报表(报表数据推模式)。
  • 提供图表功能,包括:饼图、叠加饼图、柱状图,连线图、散列点图等。
  • 报表数据导出格式丰富,格式包括:Excel、RTF(Word)、PDF、图像、HTML、文本,CSV 等。
  • 支持所有常规条形码与二维码,条形码打印精度高易读取。
  • 提供脚本编程功能,直接在报表模板中自定义报表行为,采用通用的JScript脚本引擎。
  • 特有的分组单元格合并功能,轻松实现常见的中国式报表分组在列中展现并垂直居中要求。
  • 全中文界面,针对中国式报表进行了很多专门实现,如:表格报表、财务金额线、大写金额、fa piao圈叉图标、负数红字、多层表头等。很多在国外报表工具中很难实现的功能在本产品中可以轻易实现。
  • 提供丰富交互事件,轻松实现报表行为自定义、穿透(透视)查询和报表交互。
  • 重新发布简单:C/S报表只需分发两个DLL文件;B/S报表只要部署报表网页,WEB服务端全部采用开放技术,不需进行专门配置。
  • 易学易用:完全可视化设计,完善的复制/剪切/粘贴(Copy/Cut/Paste)和恢复重做(Undo/Redo)功能,专业的拖放操作与即时编辑功能。
  • 编写了完整详尽的帮助文档。提供了丰富例程,C/S报表包括VB.NET、C#、VB、VC、Delphi、C++Builder、易语言,B/S报表包括ASP.NET、PHP、JSP。  

关于试用

从锐浪软件网站(www.rubylong.cn)下载的软件可以试用,例子与帮助都在安装目录下,试用时除了打印页面上有标志文字,没有任何功能与时间期限限制。

试用标志说明

Grid++Report 不是免费软件,不购买使用 Grid++Report 开发出来的软件会有使用标志。从锐浪软件网站下载的软件可以免费使用,除了显示试用标志外,没有任何功能限制与使用期限限制。C/S桌面组件与WEB报表插件的标志文字只屏幕显示而不会打印出来,WEB报表客户端与WEB报表服务器的试用标志会打印出来


总之,只要不在意试用标志,Grid++Report 就可以免费用。


其它详细信息请查阅Grid++Report官方http://www.rubylong.cn/

狐表使用方式(本示例使用报表引擎模块gregn6.dll,未涉及报表设计部分

步骤1
在项目中引用附件中的Interop.gregn6Lib.dllAxInterop.gregn6Lib.dll

此主题相关图片如下:引用.png
按此在新窗口浏览图片

如果只是调用报表的内置预览打印窗口(比如例4、例5、例6、例7、例9的调用方式),可以不引用AxInterop.gregn6Lib.dll文件

步骤2

注册附件中的gregn6.dll(注册方式参考报表帮助文件)
一般的安装程序制作工具都支持文件的自注册,也可以用 Windows 的 regsvr32.exe 程序进行手工注册
这里介绍一下手工注册

在命令行窗口中,执行 regsvr32 命令。语法如下:

regsvr32 "%FilePath%\gregn6.dll"

其中 %FilePath% 代表gregn6.dll文件的目录

例子


此主题相关图片如下:微信截图_20231223225201.png
按此在新窗口浏览图片

代码已导出

以下内容只有回复后才可以浏览



附件超出限制,上传到百度云了

以下内容只有回复后才可以浏览




[此贴子已经被作者于2023/12/25 9:46:30编辑过]

[本帖被加为精华]
 回到顶部
帅哥哟,离线,有人找我吗?
linyunu
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:251 积分:1869 威望:0 精华:2 注册:2018/1/16 20:53:00
  发帖心情 Post By:2021/6/19 21:21:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:例1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:例2.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:例5.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:例7.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:例8.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:例9.png
图片点击可在新窗口打开查看


导出excel

以下内容只有回复后才可以浏览

[此贴子已经被作者于2023/12/23 23:52:47编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
linyunu
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:251 积分:1869 威望:0 精华:2 注册:2018/1/16 20:53:00
  发帖心情 Post By:2021/6/20 11:18:00 [显示全部帖子]

以下是引用chen37280600在2021/6/20 9:54:00的发言:
看了一下文档,感觉没什么用

CS端大部分功能跟狐表的统计查询、专业报表、图表,都是重叠
BS端则echart和各种printJs库比它好用,各种Github爆星产品,百度一堆教程案例

CS端专业报表的话,后期调整数据位置需要重新编译,锐浪的可以在客户端自己调整报表模版,调整后也可以分发覆盖原来的模版就行,我觉得挺好的
而且专业报表 预览后打印和直接打印是不一样的   是Bug  也无法控制预览后 打不打印 的后续判断


 回到顶部
帅哥哟,离线,有人找我吗?
linyunu
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:251 积分:1869 威望:0 精华:2 注册:2018/1/16 20:53:00
  发帖心情 Post By:2021/6/22 10:33:00 [显示全部帖子]

以下是引用vbmic在2021/6/22 9:21:00的发言:
我按贴子说明添加了dll,可是按击窗体内的按钮还是提示没有注册类之类的错误,怎么办呀?
看2楼


 回到顶部
帅哥哟,离线,有人找我吗?
linyunu
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:251 积分:1869 威望:0 精华:2 注册:2018/1/16 20:53:00
  发帖心情 Post By:2021/6/22 10:38:00 [显示全部帖子]

以下是引用lihe60在2021/6/22 9:26:00的发言:
46楼和48楼载图是怎么回事?
你是用我的例子打开的吗?


 回到顶部
帅哥哟,离线,有人找我吗?
linyunu
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:251 积分:1869 威望:0 精华:2 注册:2018/1/16 20:53:00
  发帖心情 Post By:2021/6/25 16:07:00 [显示全部帖子]

    Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
    dlg.Filter= "XLS文件|*.xls" '设置筛选器
    If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
        'ExportDirect(GRExportType ExportType, String FileName, bool ShowOptionDlg, bool DoneOpen)
        '参数
        'GRExportType ExportType指定导出的文件类型.
        
        '成员名称 枚举值 说明
        'gretXLS 1 导出Excel文件.
        'gretTXT 2 导出文本文件.
        'gretHTM 3 导出Html超文本文件.
        'gretRTF 4 导出RTF文件.
        'gretPDF 5 导出PDF格式文件.
        'gretCSV 6 导出CSV格式文件.
        'gretIMG 7 导出图像文件,支持多种图像格式.
        
        'String FileName指定导出的完整文件路径与文件名称.
        'bool ShowOptionDlg指定是否在导出之前显示选项设置对话框.
        'bool DoneOpen指示是否在导出数据之后用关联程序打开导出文件.
        Report.ExportDirect(gregn6Lib.GRExportType.gretXLS,dlg.FileName , False, True)   
    End If

 回到顶部
帅哥哟,离线,有人找我吗?
linyunu
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:251 积分:1869 威望:0 精华:2 注册:2018/1/16 20:53:00
  发帖心情 Post By:2021/6/30 10:31:00 [显示全部帖子]

全局代码
    Private OpenReportFile As String

    Public Sub New(ByVal OpenReportFile As String)
        MyBase.New()

        '该调用是 Windows 窗体设计器所必需的.
        InitializeComponent()
        '在 InitializeComponent() 调用之后添加任何初始化
    Me.OpenReportFile = OpenReportFile 
    End Sub

    Private Sub CustomDesign_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '通过设定设计器控件的属性,自定义外观与行为
        'AxGRDesigner1.OnlyLayout = True
        'AxGRDesigner1.ShowExplorer = False
        'AxGRDesigner1.ShowInspector = False
        AxGRDesigner1.Report = Report

        openFileDialog1.InitialDirectory = ProjectPath 
        If OpenReportFile IsNot Nothing Then
            Report.LoadFromFile(OpenReportFile)
            AxGRDesigner1.Reload()
        End If
    End Sub



Dim fm As System.Windows.Forms.Form = new CustomDesign(ProjectPath & "出库单.grf")
fm.Show()
[此贴子已经被作者于2021/6/30 14:25:10编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
linyunu
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:251 积分:1869 威望:0 精华:2 注册:2018/1/16 20:53:00
  发帖心情 Post By:2021/6/30 14:26:00 [显示全部帖子]

忘了修改

    Private Sub CustomDesign_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '通过设定设计器控件的属性,自定义外观与行为
        'AxGRDesigner1.OnlyLayout = True
        'AxGRDesigner1.ShowExplorer = False
        'AxGRDesigner1.ShowInspector = False
        AxGRDesigner1.Report = Report

        openFileDialog1.InitialDirectory = ProjectPath 
        If OpenReportFile IsNot Nothing Then
            Report.LoadFromFile(OpenReportFile)
            AxGRDesigner1.Reload()
        End If
    End Sub

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:demo.rar


[此贴子已经被作者于2021/6/30 14:29:45编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
linyunu
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:251 积分:1869 威望:0 精华:2 注册:2018/1/16 20:53:00
  发帖心情 Post By:2021/7/1 0:17:00 [显示全部帖子]

另一种写法

去除
    Public Sub New(ByVal OpenReportFile As String)
        MyBase.New()
        InitializeComponent()
        Me.OpenReportFile = OpenReportFile
    End Sub


    Private OpenReportFile As String = Nothing   ' Private  改为 Public 


打开模版

Dim fm As CustomDesign = new CustomDesign()
fm.OpenReportFile = ProjectPath & "出库单.grf"      模版路径
fm.Show()
[此贴子已经被作者于2021/7/1 0:23:29编辑过]

 回到顶部