最近公司有一个财务的项目,考虑再三后选用wabacus框架进程报表开发,刚开始的时候把wabacus框架整合进jeecms2012里面,因为jeecms2012的报表开发能力非常的薄弱,又不能导出EXCEL,而且要写一大堆的调用,反正开发过SSH的人都知道,那挺浪费时间的。之所以选择WABACUS是因为原来有看过示例,就配置一下XML文件,就可以生成一张报表,这比用SSH开发简单多了。
如一个比较复杂的报表如图:
示例代码:
<page id="doCashAccount1"
js="/webresources/script/validate.js">
<report id="report1"
title="现金收支平衡1" type="editablelist2" dataexport="richexcel" pagesize="-1"
width="1000px" scrollwidth="1500px" >
<display>
<col column="id"
displaytype="hidden"/>
<group label="出纳日记账"
labelstyleproperty="style='background:;background-color:#CCFFCC;width:400px'"
>
<col column="billDate" label="账单日1" clickorderby="true"
>
<inputbox type="datepicker"
jsvalidate="isNotEmpty(${invalid.isnotempty}),isDate({0}格式不对,必须为yyyy-MM-dd格式)"/>
</col>
<col
column="className" label="项目"
labelstyleproperty="style='background-color:#3399CC'"/>
<col
column="summary" label="摘要" >
<inputbox
jsvalidate="isNotEmpty({0}列不允许为空)"/>
</col>
<col
column="income" label="收入" />
<col column="expenses"
label="支出"/>
<col column="balance"
label="余额"/>
</group>
<group
label="公司/工程建造师出场费"
labelstyleproperty="style='background:;background-color:#CC99FF;width:600px'">
<col
column="bidOpenDate" label="开标日期" clickorderby="true" width="150px"
datatype="date{yyyy-MM-dd}">
<inputbox type="datepicker2"
dateformat="y-mm-dd"/>
</col>
<col
column="projectName" label="工程名称" />
<col column="appearFees"
label="金额(元)" datatype="float"/>
<col column="appExportDate"
label="汇出日期" clickorderby="true" width="150px"
datatype="date{yyyy-MM-dd}">
<inputbox type="datepicker2"
dateformat="y-mm-dd"/>
</col>
<col column="constor"
label="建造师" />
<col column="appAccount" label="账号"
/>
</group>
</display>
<sql>
<select>
<value>
<![CDATA[select
a.id,a.isBeginning,a.companyId,a.billDate,a.summary,a.income,a.expenses,a.balance,
a.classId,a.creator,a.createDate,a.onYear,a.onMonth,
a.bidOpenDate,a.projectName,a.appearFees,a.appExportDate,a.constor,a.appAccount,
b.className
from
t_cashaccounting a left join t_class b on a.classId=b.id where ifMove=1 and
{#condition#}]]>
</value>
<condition name="txtyear"
label="年份"
defaultvalue="request{txtyear}">
<value>
<![CDATA[(a.onYear
= #data# )]]>
</value>
<inputbox
type="selectbox">
<option label="2012"
value="2012"></option>
<option label="2013"
value="2013"></option>
<option label="2014"
value="2014"></option>
<option label="2015"
value="2015"></option>
<option label="2016"
value="2016"></option>
<option label="2017"
value="2017"></option>
<option label="2018"
value="2018"></option>
</inputbox>
</condition>
<condition
name="txtmonth" label="月份"
defaultvalue="request{txtmonth}">
<value>
<![CDATA[(a.onMonth
= #data# )]]>
</value>
<inputbox
type="selectbox">
<option label="一月"
value="1"></option>
<option label="二月"
value="2"></option>
<option label="三月"
value="3"></option>
<option label="四月"
value="4"></option>
<option label="五月"
value="5"></option>
<option label="六月"
value="6"></option>
<option label="七月"
value="7"></option>
<option label="八月"
value="8"></option>
<option label="九月"
value="9"></option>
<option label="十月"
value="10"></option>
<option label="十一月"
value="11"></option>
<option label="十二月"
value="12"></option>
</inputbox>
</condition>
<condition
name="txtclass"
label="项目">
<value>
<![CDATA[(a.classId = #data#
)]]>
</value>
<inputbox
type="selectbox">
<option label="全部"
value=""></option>
<option source="@{select id,className
from t_class}" label="className"
value="id">
</option>
</inputbox>
</condition>
</select>
<update>
update t_cashaccounting( bidOpenDate=@{bidOpenDate},projectName=@{projectName},appearFees=@{appearFees},
appExportDate=@{appExportDate},
constor=@{constor},appAccount=@{appAccount}) where id=@{id};
</update>
</sql>
</report>
</page>
功能讲解如下:
1.可以对数据进行保存,这里面通过一个<update>配置SQL来对数据进行批量保存
2.可以选择部分列或全部列的内容进行导出操作,只要配置EXCEL导出属性即可
3.可以配置报表的查询条件,这里面还可以查询数据表罗列查询条件值,只要配置<condition>查询语句即可
4.表头可以无限制的,如二级表头、三级表头,这里面直接通过多个<group></group>对来实现
意见及建议:个人觉得这个wabacus的框架在开发统计报表时,比其它任何框架都有优势,而且要快得多,当然如果后期再加一个自动生成XML模板文件的话那就更快了,如果真的到了那一步的话,估计普通不懂开发的人都可以开发了。。
分享到:
相关推荐
Wabacus框架是一款基于Web技术构建的计算器应用框架,它提供了强大的计算功能和高度可定制的界面,旨在帮助开发者快速搭建功能丰富的在线计算器。 在【描述】中提到,这款新皮肤是专门为wabacus框架设计的,目的是...
Wabacus框架是一种基于Java技术的报表解决方案,适用于快速开发报表应用,尤其适合那些需要大量报表展示和数据分析的项目。 #### 1.2 文档目的 该文档旨在为用户提供全面的指导,帮助他们了解如何配置和使用Wabacus...
文件`wabacus.exe`可能是Wabacus框架的安装程序或运行环境,用于在开发环境中部署和运行基于Wabacus的应用。安装或运行这个文件,开发者可以体验到Wabacus所带来的高效开发流程。 文件`演示文档.pdf`则很可能是...
#### 一、Wabacus框架详解 Wabacus作为一款专为JavaEE设计的报表开发框架,其核心优势在于极大简化了数据展示、编辑及表单处理等常见任务的开发流程。通过面向声明的开发模式,Wabacus能够帮助开发者在几乎无需编写...
SpringMVC是Spring框架的一部分,它是一个基于模型-视图-控制器(MVC)架构模式的Web应用开发框架。SpringMVC负责处理HTTP请求,将请求分发到相应的处理器(Controller),处理器处理业务逻辑后返回Model,Model再与...
虽然没有提供具体的信息,但我们可以推测它可能是一个基于Java的计算或数据分析工具,因为“wabacus”一词暗示了与算盘或者计算相关的功能。在4.1版本中,开发团队可能对功能进行了增强、性能优化或错误修复,这通常...
在这个项目中,`wabacus.tld`可能定义了与Wabacus相关的自定义JSP标签,这些标签可以简化Web应用的开发。 4. `licence`:与`COPYING`类似,这个文件也包含软件的许可信息,可能与项目采用的特定许可协议相关。 5. ...
Play Framework 是一款基于Java和Scala的高性能、轻量级Web应用开发框架。2.0版本采用了全新的架构设计,支持异步处理,能够更好地利用多核处理器的性能。它支持热部署,即开发者可以在不重启应用的情况下修改代码并...
Wabacus框架可能是作者所在机构或团队开发的特定框架,用于简化Web开发流程,提高开发效率。HighCharts是一个用于生成图表的JavaScript库,它被广泛应用于Web页面,以图形化的方式展示数据,非常适合于需要实时显示...
Wabacus是一款基于Java的高性能报表工具,它提供了一套完整的解决方案,用于快速开发、部署和管理Web应用程序中的复杂报表。本文档旨在深入解析Wabacus框架的核心配置文件`wabacus.cfg.xml`以及报表配置文件中的关键...
本文档旨在介绍Wabacus框架中的关键配置项及其功能,帮助开发人员更好地理解和使用这些标签。 #### 1.1 概述 Wabacus框架通过XML配置文件来定义报表的各种行为和样式。这些配置文件包括系统级配置文件`WABACUS.CFG...