今年7月分刚毕业,8月中旬入职一家刚起步不久的小公司。在这之前还在一家在国内比较著名的集团分公司研发中心呆过一个月,感觉不是我喜欢做的工作,于是果断辞职。我想大概我是那家公司入职最短的员工吧,还不满一个月。来到新的东家,便跟着项目经理接手一个已经做了一部分的项目,该项目主要是收集、处理和展示数据。其中使用到了FineReport 这个报表工具,这个报表工具的确是很强大,在业内也是具有良好的口碑的。我觉得,软件就是用来解决现实生活中的问题的,只要能解决我的问题,它就很好。好了,不废话,直接进入正题。
在报表中填好的数据如何入库呢?该工具提供了两种方式入库:内置SQL和自定义提交。我没有使用内置SQL, 因为我收集的数据需要经过后台方法过滤,所以选择了自定义提交。在此项目中,我为该自定义提交分了两种方式:非grid式和grid式;
非grid:对应的数据表只有一张,即单表操作,所有填报的数据就一条记录。这种情况的提交方式比较简单,直接简单地配置属性和属性值即可提交到后台处理。在一般开发中实体的属性和数据库表的字段是一致的,我们公司要求一致(大写)。以下是报表填报属性的自定义提交配置图:
图 1
从图中可以看到,名字就是你的实体属性,而值就是要从单元格中取来的。这里有8种取法供你选择,如下图所示,我一般使用单元格和公式,而且公式也是我在grid式报表的主要取值手段。
图 2
对于单元格,你填报的数据在哪个格子上,就直接该格子对应的坐标即可,就跟Excel一样,例如:F13。对于公式,我们可以使用报表工具提供的公式方便地对要取的数据做一些预处理,以便后台进行处理,比如:CONCATENATE(C7,D7,E7,F7,G7,H7,I7,J7,K7,L7,M7,N7),表示拼接C7~N7这个些格子的值,并返回一个字符串。当然,你也可以在公式中直接输入格子的坐标来拼接,比如需要使用‘-’来拼接,直接在公式中输入:U15+'-'+V15+'-'+W15即可。
现在需要提交的数据配置好了,那么就需要