固定格式填报表的制作

在前面几篇文章中,我们学习了多种类型填报表的制作,对润乾报表的填报机制有了一定的了解。今天我们来研究一下如何制作固定格式填报表,同时检验下自己之前学习的内容是否已熟练掌握。

今天要学习的固定格式填报表效果图如下所示:

左侧为固定内容,蓝色部分是需要客户填写的内容,最后将整个页面数据更新到数据库表中。

这里的难点在于,如何把左侧固定内容也更新到数据库中,也就是如何设置单元格分区。

带着这个问题我们来看一下具体实现步骤:

第一步 新建填报表

编辑填报表内容和样式,如下图所示:

一般这类报表会对应一个 excel 效果文件,我们可以通过“文件”–“打开填报”–选择对应 excel 文件,将 excel 导入到报表设计页面后稍作修改。

第二步 设置数据处理

脚本处理部分一般和业务需求有关,此示例需要根据不同参数值选取不同数据展现并根据参数值动态更新数据。

来源脚本内容如下图所示:

这里主要用到了 if 函数和 query 函数,if 函数用于动态条件判断,query 实现动态取数。

其中,A2:使用 if 函数判断 tbType 参数值是否为 0

B3:当满足 if 条件时,按照 query 函数中的 sql 取数

B5:当不满足 if 条件时,按照 query 函数中的另外一条 sql 取数

去向脚本内容如下图所示:

上图的脚本配置很熟悉,有木有?没错,这里就是前面我们讲到的动态更新的内容。

其中,

A2:使用 if 函数判断 tbType 参数值是否为 0

B3:当满足条件时,通过 update 函数实现对 YJKFFYQKGJB 表数据的插入更新,即把 yffy 对象中的数据插入到 YJKFFYQKGJB 表中

B4:当不满足条件时,通过 update 函数实现对 YJKFFYQKGJB 表数据的修改更新

即把 yffy 对象和 yffy_old 对象的差异数据修改到 YJKFFYQKGJB 表中

A6:获取数据库操作过程中的异常信息

A7:如果 A6 获取到的异常信息为空,那么就提交入库,否则就执行事务回滚

第三步 配置单元格属性

我们在第一步的基础上做以下设置:

1)把用户可以填报数据的单元格设置为数值格:本部金额所在列和下级企业汇总所在列的单元格

研发经费情况和汇总金额也需要设置为数值格,便于对象字段数据识别

2)设置自动计算表达式:把需要进行求和计算的单元格配置 sum 表达式

例如:sum(C5:C9) 表示求 C5 到 C9 单元格所有数据的和

3)“研发经费情况”对应为中文名称,数据库中需要同时存储 ID 列,所以我们需要插入一列,并将对应 ID 写上

4)将新增 ID 列设置为维度格,中文名称列设置为数值格,同时把每一行的字段名称配置下,保证填报分区正确。

总结:

至此,一个简单的固定格式填报表就制作完成了。这里实现的难点在于报表单元格分区设置,还是不会怎么办?盘它,盘的多了,你会发现集算器脚本进行数据处理时的各种惊艳之处。

原文地址:https://www.cnblogs.com/shiGuangShiYi/p/12109997.html

时间: 2024-10-08 15:53:15

固定格式填报表的制作的相关文章

灵活数据源的固定行列交叉报表的制作

论坛里,http://bbs.csdn.net/topics/390883416中提的问题,其目的是为了实现一个固定行列的交叉表,用SQL准备好固定行数的数据源非常麻烦.而润乾集算报表则有非常灵活的计算能力,能够充分利用问题特点应付各种非常规的计算需求. 这里就以链接中业务为背景,给出集算报表实现某种固定列交叉报表的方案. 报表背景         源数据例如以下: 现须要在报表中显演示样例如以下内容: 这里要求依照分类统计总记录数.并将每月的记录数分别填充到1-12月中.当中无数据的记录显示为

脚本模式下的填报表制作

填报是报表工具不可或缺的功能之一,润乾报表不仅提供了多源 SQL 填报方式,而且提供了脚本模式填报,以便适应不同的填报数据处理需求.在线教程中对多源 SQL 方式做了详细的配置说明,这里就不再赘述了.(附在线教程地址:http://doc.raqsoft.com.cn/report/input/zzygwgstbb.html) 今天小编将带领大家解锁另外一种填报处理方式——脚本模式 以行式填报表实现雇员信息维护为例,我们来看一下脚本模式如何实现数据处理,请紧随小编的步伐: 第一步 新建填报表,编

如何用报表工具实现树状层级结构的填报表

需求说明 对于带有层级结构的数据中,用户为了能够更加清晰直观地查看,往往需要在数据展示时将层级展示出来,比如常见的省.市.县结构,或者一些科目中也会带有层级.通常,我们管这种形式叫做树状报表.在查询统计类报表中可以使用报表的左主格来实现,但是由于填报模型更加侧重于数据处理,格式设计上有别于查询统计报表,往往较难实现树状报表. 下面,我们通过一个层级科目的例子介绍一下在填报表中如何实现这个需求.首先,我们看一下报表展示的结果: 这个报表是一个按照科目录入数据的填报表,科目分不同等级,比如 1001

脚本填报表的条件查询

在上一篇<脚本模式下的填报表制作>中,我们详细讲述了如何使用脚本进行数据处理.制作填报表,今天我们盘道一下脚本模式下如何实现条件查询. 一.需求描述 然后再进行增删改操作.例如,先过滤出所关心城市的客户信息,然后再对查询结果进行更新操作.那么,实现这个需求需要解决两个问题: 1. 如何让条件录入更加人性化 2. 脚本模式下如何实现参数的接收处理和数据过滤? 二.实现难点 多城市值传入时,脚本中如何处理参数并实现数据过滤: 参数模板中如何实现地区和城市之间的关联过滤. 三.操作步骤 第一步  制

VB.Net之旅—报表的制作(RDLC)

我们在这里以机房收费系统周结账单为例,讲解一下VS2008报表的制作 新建一个窗体,从工具箱中拖一个MicrosoftReportViewer控件到窗体中,点击MicrosoftReportViewer右边的小三角,然后选择设计新报表 选择已有数据源或添加新数据源 我们在这里添加数据源 选择已有连接或新建连接 我们在这里新建连接,测试连接成功后,选择确定 之后单击下一步,选择数据库对象,单击完成 选择新添加的数据源,选择下一步 选种左边字段,点击详细信息,点击下一步 点击下一步,对报表重命名,点

NC传送数据包格式以及用其制作手机短信炸弹

NC -v IP地址 端口<c:\1.txt 具体实例:NC -v 211.157.106.78 8080 <c:\1.txt 打开记事本,写一段批处理让nc自动传包  格式 :go nc -v 211.157.106.78 8080<c:1.txt goto go 将文件保存为批处理1.bat NC传送数据包格式以及用其制作手机短信炸弹,码迷,mamicode.com

python 读取固定格式文件

环境:这几天在使用python开发程序的过程中,需要连接到mysql数据库,而且涉及到不同的服务器和不同的数据库,前期使用测试服来做测试,不想在python程序里频繁去更改数据库的配置信息,于是想到将全部的数据库配置写进一个db.conf文件里去读取,也是基于安全性的考虑. 于是写了一个基于固定格式的文件读取程序,案例如下. 测试文件内容: title1 1,line 1 2,line 2 3,line 3 title2 4,line 4 5,line 5 6,line 6 title3 7,l

vb.net 正则表达式 取 固定格式的字符

vb.net 正则表达式 取 固定格式的字符: 原始字符串:strSqlTmp="select * from A_TEST where a_data = '@[email protected]' and b_link = @[email protected]" 其中@包围的是sql文的条件字段, 需要将条件字段取出,单独处理 Dim mc As MatchCollection = Regex.Matches(strSqlTmp, "@([0-9]*?)@") For

向Sql Server数据库中导入固定格式的txt文本数据

文本数据量比较大的时候,一条条的输入基本不可能,写个程序来中转一下也是很麻烦,幸运的是sql server提供了比较简洁的方法. Bulk insert 表名 from 'C:\你的文本文件.txt' with (FieldterMinator ='以什么符号分割数据', RowterMinator= '以什么符号加\n结尾') --\n是回车的意思,就是回车前面是什么符号,如果没符号直接单引号\n Bulk insert #temp from 'C:\test.txt' with (Field