最新历史版本 :JS获取填报单元格值或给单元格赋值 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 问题描述

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

1.gif

1.2 实现思路

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

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

2.1 准备模板

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

222

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