这年头,excel真是个好用的东西,不管是什么项目,最终用户总会要求把报表导出到excel,不仅仅数据要导出,格式也要导出,样式还不能失真,实在烦死了程序员。更有甚者,不少最终用户在项目需求的初期,就给程序员提供了一大堆的excel表样,还理直气壮的说,看,表样都给你们画好了,你们可以直接用,不需要画表样了。一句话足可以让你哑巴吃黄连,有苦说不出。
最终用户想要的说白了就是要把数据库中的数据按他们要求的格式展现出来。EXCEL能满足用户对表样的需求,但也有局限的地方,比如不能动态感知数据库。最终用户除了要动态感知数据库还要求可以动态显示数据库或是要求可以完全通过网页来查看数据等
如果从数据库写代码也是可以做报表的,但是数据库只管理纯数据但不管理数据的录入和展示。当然,
数据的录入和展示也可以自己写出来,但是写代码实在太烦琐,想到就头大……
现在市面上的报表工具也好,报表控件也好,大都是基于控件拖拽式的。俗话说,鼠标拖拖拽拽画报表,似乎很容易,可实际上只有程序员知道,中国式报表讲究的是格线对齐,控件拖拽是很难格线对齐的,能把人眼珠子看直了!偏偏最终用户还那么热爱excel,所有的报表都希望和excel平滑导入导出!控件拖拽式的报表在界面模型上和excel完全不同,能否平滑导入导出,严重取决于控件的对齐程度,因此难度可想而知。
当然也有一种报表工具,完全借鉴了excel的界面模型,利用单元格的合并和拆分,利用单元格的边框来组织报表样式,其表样的编辑方式和excel完全相同,两者之间可以平滑的导入导出。可是基于单元格合并拆分的模型和基于二维表的数据库物理表模型没法有机的结合起来,因此这种报表几乎都只能做静态报表,需要靠程序员编程来实现动态行列报表的制作。
finereport报表在研究了几千张中国式报表的基础上,提出了一套完整的数学模型,终于把类excel的界面模型和数据库的二维物理表有机的结合起来了,不仅仅解决了动态行列的问题,还解决了跨行组运算的问题,可以说从根本上解决了中国式报表无规则表样和无规则运算的问题。
操作也非常简单,花个几分钟配置下服务器,然后就是做模版,接着就剩直接COPY了。
finereport报表和excel编辑界面的比较: