JS 获取单元格字符串中的数字

  • 文档创建者:L大大
  • 编辑次数:5次
  • 最近更新:L大大 于 2020-04-01
  •  1. 概述

    1.1 应用场景

    制作填报报表时,有时候需要直接获取到字符串中的数字,如下图所示:

    B0709F6F-7813-4132-B11C-69DB772D9899.GIF

    1.2 实现思路

    通过给按钮控件添加 JS 点击事件实现。

    2. 示例

    2.1 报表设计

    1)新建内置数据集 Embedded1,如下图所示:

    1583733644187783.png

    2)如下图设计表格,B2单元格添加按钮控件。

    Snag_1ec80db3.png

    3)选中B2单元格,给按钮控件添加一个点击事件,需要新增参数A,其值为公式A2,如下图所示:

    Snag_1ecaabfd.png

    JS 代码如下:

    //alert(A);
    var num= A.replace(/[^0-9]/ig,"");
    var location = this.options.location;  //获取当前控件的位置
    var cr = FR.cellStr2ColumnRow(location);
    var col = cr.col;  //列号
    var ro = cr.row;  //行号
    contentPane.setCellValue(1,ro,num);//此处1位B1的列号,默认从0开始

    3. JS获取中文

    2.1 报表设计

    1)选中B2单元格,给按钮控件添加一个点击事件,需要新增参数A,其值为公式A2,如下图所示:

    3.png

    JS 代码如下:

    //alert(A);
    var num= A.match(/[\u4e00-\u9fa5]/g).join("");
    var location = this.options.location;  //获取当前控件的位置
    var cr = FR.cellStr2ColumnRow(location);
    var col = cr.col;  //列号
    var ro = cr.row;  //行号
    contentPane.setCellValue(1,ro,num);

    2.2 效果预览

    保存报表,点击填报预览,点击按钮即可获取当前行字符串中的数字,中文,如下图所示:

    B0709F6F-7813-4132-B11C-69DB772D9899.GIF4.gif

    注:不支持移动端。

    3. 模板下载

    已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\JS获取单元格字符串中的数字.cpt

    点击下载模板:JS获取单元格字符串中的数字.cpt

    附件列表


    主题: 二次开发
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!