反馈已提交

网络繁忙

JS获取填报单元格值或给单元格赋值

  • 文档创建者:lu123
  • 编辑次数:22次
  • 最近更新:Leo.Tsai 于 2022-07-05
  • 1. 概述

    1.1 问题描述

    我们可利用 JS 获取单元格的值,或修改单元格中的值,如下图所示:

    1.gif

    1.2 实现思路

    通过 JS 调用单元格接口来获取和改变单元格的值。接口说明可以参考:获取和设置单元格值接口

    2. 示例一:单元格不扩展

    2.1 准备模板

    如图,在报表中添加两个按钮,B1 是获取值的按钮,E1 是赋值的按钮。


    2.2 添加事件

    1)给 B1 单元格的获取值按钮添加「点击」事件,如下图所示:

    点击事件中的JavaScript 代码如下:

    var v1 = _g().getCellValue(0, 1, 3);
    //获取B4的值
    var v2 = _g().getCellValue(0, 4, 2);
    //获取E3的值
    var v3 = _g().getCellValue("E4", null);
    //获取E4的值
    alert("雇员:" + v2 + "\n性别:" + v1 + "\n电话:" + v3);

    2)给 E1 单元格的赋值按钮添加「点击」事件

    点击事件中的JavaScript 代码如下:

    _g().setCellValue(0, 1, 3, "男");
    //将B4修改为男
    _g().setCellValue(0, 3, 3, "手机:");
    //将D4修改为手机:
    _g().setCellValue("E4", null, "19356958746");
    //将E4修改为19356958746

    2.3 预览效果

    保存模板,填报预览后,效果如下所示:

    1.gif

    3. 示例二:单元格扩展

    3.1 准备模板

    如图,在报表中添加两个按钮,A1是获取值的按钮,C1是赋值的按钮

    3.2 添加事件

    1)给 A1 单元格的获取值按钮添加「点击」事件,如下图所示:

    Snag_73001b3c.png

    点击事件是要添加参数的,参数名为 len,值为公式 COUNT(A4) ,目的是获取 A4 单元格扩展出来的总行数。

    点击事件中的 JavaScript 代码如下:

    var value = "";
    for (i = 0; i < len; i++) {
    var id = _g().getCellValue(0, 0, i + 3);
    //获取A4的扩展值
    var kc = _g().getCellValue(0, 2, i + 3);
    //获取C4的扩展值
    value += "产品ID:" + id+ ",库存量:" + kc + "\n";
    //拼接id和库存量,每个id为一行
    }
    alert(value);

    2)给 C1 单元格的赋值按钮添加「点击」事件,如下图所示:

    Snag_73039b7a.png

    点击事件是要添加参数的,参数名为 len,值为公式 COUNT(A4) ,目的是获取 A4 单元格扩展出来的总行数。

    点击事件中的 JavaScript 代码如下:

    for (i = 0; i < len; i++) {
    var kc = _g().setCellValue(0, 2, i + 3,"0");
    //修改C4的所有扩展值为0
    }

    3.3 预览效果

    保存报表,分页预览后,效果如下图所示:

    2.gif

    4. 模板下载

    已完成模板可参见:

    %FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\单元格不扩展.cpt

    %FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\单元格扩展.cpt

    点击下载模板

    示例一:单元格不扩展.cpt

    示例二:单元格扩展.cpt

    附件列表


    主题: 填报应用
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

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

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

    不再提示

    10s后关闭