首先不知道大家有没有使用过帆软这个工具,这个工具是来进行处理报表的。什么是报表,其实帆软的报表就类似于Excel中的报表一样,并且帆软的报表的样式也是取自Excel的样式的。相同的样式处理方式。我个人总结了帆软与Excel的几个异同点:
相同点:
①相同的样式处理方式,只要你会Excel的样式操作,你也就会帆软的样式处理方式l .
②功能相同,他们都是数据的集合显示,把大量的数据以报表的形式反馈给人看的,比较直观的看到数据的整体情况。
不同点:
①Excel只能静态人工输入,自己做报表,比较费时费力,耗大量的时间。而帆软则不是,它所有的数据都是去数据库进行查询得到的。
②使用场景不同,使用帆软必须要有数据连接,连接数据库之后进行查询,在帆软中的数据源其实还是在数据库中去执行的,在帆软中也需要进行连接相应的数据库驱动,并通过流的形式进行连接数据库,如果在网络慢的情况下,报表的访问速度也是很慢的。
③ 帆软更强大,它内置了多种函数,并且自己还可以自定义函数。它自己定义了一些好用的功能,比如导出功能,支出多张导出的格式,比如我们常见的Excel,PDF,图片,它都支持。它也直接支持打印功能。也可以导出Exel后使用Excel进行打印。
④相对于来说,帆软更适合于Web项目的开发,它是动态的获取数据,获取的是即时数据。
好了,上面介绍的是我工作中所遇到的,可能还有其他的地方没有遇到,请高手在下方评论留言,我们一起学习。
下面让我正式介绍一下标题的内容部分:
在帆软中它也有一些自己的函数,比如replace()函数,其实数据库也是提供的。帆软也提供这个函数。大家在使用replace函数的时候注意它的本身使用限制,根据自己项目的需求进行正确的使用。例如下面我说的就是我遇到的问题:
我想要replace来进行字符串的替换,比如我定义一个变量a, 我想要把a最后两位00替换掉,如果用replace的话,它才不管你是不是最后两位是不是00,它所管辖的范围是:只要变量中有00结对出现的话,我就进行替换你想要替换的字符。
例如:
211003 字符,我想要的正确结果是判断这个字符最后两位是不是00如果是我就截取掉00,不要它,如果不是00,我就显示这个字符。如果用replace的话它就会把这个字符里面的00进行替换replace('211003',''),会把00进行替换为‘’,结果就成了2113 这明显不是我们想要的结果。
所以在处理这种需要的话,用replace函数就显的不那么尽如人意了,我们需要用别的方法进行替换。还好帆软比较强大,给我们提供了解决各种问题的方法。切记:
在我当初修改的时候是用了substr()函数,虽然这个函数在数据库中是肯定支持的,但在帆软中并不支持了。所以不能用它了,你不信可以试一下 。
肯定有解决的办法了,经过查看帆软的函数表,还真让我找到了可以替换substr的函数,那就是left ()和right()这两个函数,它们两个是配合使用的。right函数的使用方法是:right(字符串,从右开始取的长度),比如:right('fsfdsf',2) 结果是:sf
left函数就是从左开始截取的函数了,从左开始截取的函数。要实现我们的需要,这两个函数明显是不够的。还有作逻辑判断的if()函数,if(true,参数一,参数二),如果if中为true的话,就执行参数一,否则执行参数二。类似于if(){}else{}
还需要一个函数就是len()函数,它是取字符串的长度的。类似于数据库中的lenght()函数。所以有了这些函数,我们的需求实现是肯定没有问题的。
基本思路是:首先利用right()函数截取最后两位 然后利用if()函数进行逻辑判断。然后使用left进行字符显示。最终显示我们需要想要的结果。
注意:在帆软中想要使用帆软自己函数是用${}来进行使用的。
结果是:${if(right('211003',2)=='00',left('211003',len('211003')-2),'211003')}
好啦 ,我们的最终结果就出来了 ,有收获的小伙伴欢迎在下面进行评论留言哦!小编也不容易哦。