历史版本10 :导入Excel提交前清空数据库表 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 版本编辑

报表服务器版本
10.0

2. 描述编辑

2.1 需求描述

为了防止数据冗余,用户在导入 Excel 之前需要清空原表数据,确保清空完成后,再导入数据。

222

2.2 解决思路

通过填报页面设置中Excel导入前事件,设置在 Excel 导入前清空表数据,且添加回调函数判断清空表是否完成。

3. 示例编辑

3.1 模板准备

3.1.1 设计器准备

以模板  %FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject|\ExcelImport\ExcelImport_1.cpt  为示例

已知 Excel 表: 导入Excel前清空表.xlsx  

添加数据库查询 ds1,sql 语句: SELECT * FROM 产品

3.1.2 平台设置

打开数据决策系统,点击管理系统>安全管理>安全防护,关闭脚本调用公式限制

image.png

注:该限制默认开启,会导致回调函数不生效。

3.2 设置提交事件

点击模板>模版Web属性>填报页面设置,选择为该模板单独设置,添加Excel导入前事件:

222

事件类型选择提交入库,提交类型选择删除提交,选择需要清空的数据表,通过添加字段添加主键产品 ID,值使用公式SQL查询出所有主键 ID

222

注: 值公式 =SQL("FRDemo","SELECT 产品ID FROM 产品",1)

3.3 设置回调函数

点击下方设置回调函数,判断是否已经成功清空表

222

JS代码:

if(fr_submitinfo.success){  
    FR.Msg.toast('表清空成功!');  
}else{  
    FR.Msg.toast('表清空失败!');  
}

注:success 只表示后台程序执行没有异常,不表示数据提交成功。

注: 确认页面提示表清空成功!后再导入数据!

5. 已完成模板编辑

已完成的报表,可参见%FR_HOME%\webapps\webroot\WEB-INF\reportlets\demo\form\导入Excel前清空表.cpt

点击下载模板