本帖最后由 Lenka.Guo 于 2022-3-2 17:08 编辑
大家好,终于迎来了ActiveReportsJS v3.0
ActiveReportsJS v3.0引入了新的功能和增强功能,为开发者、报表设计者和最终用户改善了应用程序的产品体验。
全面提供报表创建API作为开发者,我们需要为最终用户提供简易的报表编辑器,让客户根据自己的业务场景,选择相关的业务数据生成报表,让最终用户更加简单且不中断当前业务系统的处理流程来设计报表。因此 ActiveReportsJS 开放了创建报表的API,开发者可在项目运行时动态创建报表,并进行预览,导出等。该功能对开发者来说非常方便调用API创建,预览,导出报表等。为了能够充分使用API建议使用Typescript,因为该API提供了可被Visual Studio Code或其他支持TypeScript的IDE的IntelliSense功能所识别的类型声明。更多信息可参考博客教程:https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=142189&extra=page%3D1
报表设计器支持新添加控件设置默认属性
当用户设计报表时并添加新的报表控件,如文本框,属性窗口中会自动为文本框设置一些默认属性值。比如,新添加了文本框控件,设计器默认的字体为 Airal,字体大小为10pt,很多企业内部的报表模板有自己的规范需要将默认的文本框字体改为微软雅黑,字体大小修改为9pt。因此我们在此次更新中为提供了API 可供设计器来置组件的默认属性值。保证企业内部统一模板设置。 更多信息可点击博客了解:https://gcdn.grapecity.com.cn/fo ... &extra=page%3D1
新增表格类数据导出
很多情况下,最终用户想将报表展示的数据导出后,进行存档或者二次数据处理,比如可能您需要将报表展示的结果导出到一个Excel 表单中,进行数据分析,比如创建为新的数据透视表,图表等,或者做二次的数据编辑。 ActiveReportsJS 目前支持Excel 导出,但暂不支持将所有的数据导出单个Sheet中。为了解决该问题,我们推出了基于表格类的数据导出,支持将表格或矩表数据导出为CSV格式。
如果报表包含了多个表格或矩表,会自动导出为ZIP包,您可以很容易地将表格式数据导出的输出导入到Excel表格中。更多信息可点击博客了解:https://gcdn.grapecity.com.cn/fo ... 4&fromuid=29382
性能增强
l 报表性能增强:实现变量式大数据量缓存加载机制 为了保证报表性能适应更大体量的数据报表生成,葡萄城报表开发团队一直致力于优化报表引擎以提升报表性能,基于平台和开发语言的限制,精细化的优化各个报表生成的关键节点,此次采用变量式数据结构存储,使得整个报表的性能提升非常显著。 对于性能提升,很难将JavaScript中的 "1+1"运算优化,但可以优化内存分配,并将比较操作的数量减少到2个,因此我们采用形如以下的变量存储方法: { Type: ‘float’ | ‘string’ | ‘boolean’ |‘int16’ | ‘int32’ … Value: object }
变量用于结果展示时候,在进行数据引擎交互计算,因此执行如“1+1”表达式时只需要执行三次内存分配和4次转换,而不计算条件运算符的数量如switch和if,从而减少时间和内存的消耗。此种方法,也在实际的报表场景时得到验证,使得报表性能方面的提升是非常显著的。
许多报表都广泛使用日期。例如,销售报表可以使用图表数据区域按月、年或周显示销售汇总。对于这样的报表,报表引擎需要有效地同时执行多个相关任务。
- 从源数据中解析日期。因为ActiveReportsJS只支持JSON数据格式,而JSON数据默认是将日期保留为字符串。
- 格式化日期,以便报表输出能够根据指定的格式显示。
- 提取部分日期,如只取月份或年份等
在ActiveReportsJS v3.0中,我们改进了关于日期类型数据的读取操作,并测试发现大量使用日期的报表性能会提升30%。
图表向导
ActiveReportsJS中的图表数据区域提供了一套丰富的可视化功能。在ActiveReportsJS中,我们引入了全新的图表向导,您只需按照向导点击或选择就能创建高级图表:更多信息可参考博客教程:https://gcdn.grapecity.com.cn/fo ... &extra=page%3D1
图像控件支持URL 数据且支持SVG格式
在使用图片控件时,很多图片资源是来源于外部URL的,因为图片可能会保存到外部服务器上,因此此次升级,我们支持将图片控件直接引用外部URL来显示图片,初次之外,图像控件新增图片格式 SVG,可直接将SVG图片格式渲染到报表中。
更多信息可参考博客教程:https://gcdn.grapecity.com.cn/fo ... &extra=page%3D1
新增Len函数
Len函数是测量字符长度的函数,通常我们会根据该数据的字符的总数来调整单元格的布局样式,因此在此次ARJSV3.0更新中我们新增加了 Len函数的支持,可测量字符的总长度,示例如下:
- {Switch(Len(annualizedPremium) = 11, "6pt", Len(annualizedPremium) = 10, "7pt", Len(annualizedPremium) = 9, "8pt", 1 = 1, "9pt")}
复制代码
|