最新历史版本 :删除数据库里满足条件的旧数据后导入Excel内容 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1问题描述

我们偶尔会遇到需要先把数据库表里满足一定条件的旧数据删除后导入 Excel 的需求,这里删除某一月份的数据,把新的该月份数据导入。

数据库中的数据如下图:

图片.png

注:红色框线中的3条数据是准备删除的。


1.2实现思路

我们需要通过添加内置SQL以及添加编辑后事件来解决。


2. 示例编辑

2.1 数据准备

新建普通报表,创建数据集 ds1,数据库查询语句为:SELECT * FROM 订单  where 订购日期 like "%${datetime}%",如下图所示:
图片.png


2.2 报表设计

1)报表设计如下,A2至I2依次插入文本控件并纵向扩展,如下图:

图片.png

2)在参数面板中添加时间参数datetime ,添加日期控件,设计如下图:

图片.png


2.3 报表填报属性

1)点击 模板>报表填报属性>提交,添加内置 SQL1,如下图:

图片.png

插入公式为:value("ds1",1)


2)添加内置 SQL2,将 Excel 数据保存到数据库,如下图:
图片.png


2.4 增加编辑后事件

在参数面板中选择日期控件,在事件栏中添加事件,如下图:

图片.png

代码如下:

_g().parameterCommit();


2.5 数据删除和导入

1)将数据库中标红框的3条数据删除,删除过程省略.

2)需要被导入的 Excel(先删除后导入.xlsx),数据如下:

图片.png

注:红框中为准备导入的数据


2.6 导入 Excel 表

1)保存模板,选择填报预览,选择自定义导入 Excel 行列,如下图:

图片.png

2)自定义导入设置如下图:

图片.png

3)导入后点击提交按钮。
图片.png


3. 结果查看编辑

1)查看数据库,发现原来 4 月份数据都被删除,现在又把4月份的数据被添加进去。如下图:

图片.png


2)已完成的报表,可参见%FR_HOME%\webapps\webroot\WEB-INF\reportlets\demo\form\先删除后导入.cpt

点击下载模板:

先删除后导入.cpt