反馈已提交

网络繁忙

自定义函数Unicode编码转化为中文

  • 文档创建者:lu123
  • 历史版本:12
  • 最近更新:RosieY 于 2020-12-23
  • 1. 描述

    数据库中保存的是如下形式的编码:%u5357%u4EAC-%u57CE%u5317 希望最后展示出来的是对应的中文“南京-城北”

    FineReport 提供了自定义函数机制,可以由用户根据业务需要自己来定义一些函数,但这些函数必须满足 FineReport 函数定义规则。


    2. 函数原理

    在 FineReport 中,每一个函数都被定义成一个类,这个类必须要实现 Function 这个接口,在运算的时候首先通过函数名反射取得这个类,然后调用它的 run(Object[] agrs)方法。下面Ubm这个函数可以实现:


    3. 实现步骤

    3.1 编写自定义函数代码详见:

    https://code.fanruan.com/demo/example/src/branch/persist/10.0/src/main/java/com/fr/function/Ubm.java

    3.2 编译自定义函数

    将编译后的 Ubm.class 放到 FineReport 的安装目录 WEB-INF 下面的 classes 目录下,因为 Ubm.java 属于包com.fr.function,所以Ubm.class需要放到%FR_HOME%\webapps\webroot\WEB-INF\classes\com\fr\function目录下。


    3.3 注册自定义函数

    生成该函数的类后需要在设计器中进行注册,才可以使用该函数。打开服务器|函数管理器选择刚刚定义好了 Ubm 类,如下图:

    222


    3.4 使用自定义函数

    注册好自定义函数后,制作报表时便可直接使用了,使用方法与内置的函数是相同的。输入公式=Ubm("%u5357%u4EAC-%u57CE%u5317"),预览效果如下:

    222



    附件列表


    主题: 二次开发
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持