//参数传递
Map param = new HashMap();
param.put("memo", Accinto_jxType.PSN_JX.getLabel());
param.put("name", name);
//集合数据
for(Map map_data: list){
Map map = new HashMap();
CorporationRefVO corp_vo = (CorporationRefVO) getHibernateTemplate().get(CorporationRefVO.class, map_data.get("pk_corporation").toString());
map.put("index", i);
map.put("name", corp_vo.getName());
map.put("insurance_code", corp_vo.getInsurance_code());
map.put("accinto_instr", map_data.get("accinto_instr").toString());
data_list.add(map);
}
//onExport_Accrual(map, data_list, vo.getSerial_no());
DataSet[] rqdss = makeRqdss(list);
IReport ireport = RQPrintUtil.makeReport("/query/printdef/account_record_acc_area.raq", rqdss, param);
ReportUtils.exportToDOC(dirpath +"\\"+ serial_no + name +"_统筹区及单位记息单.doc", ireport);
private DataSet[] makeRqdss(List list) {
DataSet rqds = new DataSet("ds0");
if (list.size() > 0) {
Set keys = ((Map) list.get(0)).keySet();
for (Iterator iter = keys.iterator(); iter.hasNext(); ) {
String key = (String) iter.next();
rqds.addCol(key);
}
for (int i = 0; i < list.size(); i++) {
Map oneMap = (Map) list.get(i);
Row row = rqds.addRow();
for (Iterator iter = keys.iterator(); iter.hasNext(); ) {
String key = (String) iter.next();
Object value = oneMap.get(key);
row.setData(key, value);
}
}
}
return new DataSet[] {rqds};
}
map中存储的参数需要在润乾报表–>配置–>参数中指定
名称与后台param中存储的key值对应。
list集合中查询出来的数据
单独的常量参数可以用
=companyname
# 数据集中的参数,要用数据集函数ds0
存在数据集中,不需要递归的参数写法
=ds0.companyname
存在数据集中,需要递归的多数据用
=ds0.select(identity_no)
序号
row()-开始行数
日期函数
date(workDate)
# 设置显示格式参数值为 yyyy年MM月dd日
now()
字符串拼接
="记账人:" + operator
select函数
参数1: 要选择的字段列名/列号,也可以是表达式。
列号用#n表示,例如#0代表第0列,#1代表第1列,依此类推
参数2: 指定数据排序的顺序,true表示降序排列,false表示升序排列。参数3: 数据过滤表达式,如果全部选出,则此参数省略,仅用“,”占位。
参数4: 数据排序表达式。当参数4为空时先检查参数2是否为空,如果为空,
则不排序,否则使用参数1排序。如果参数4不为空,先检查参数2,如果参数2为空则不排序,如果不为空,则按参数4排序。
rootGroupExp 是否root数据集表达式【不常用】
#例1:ds1.select( name )
从数据源ds1中选取name字段列的所有值,不排序
#例2:ds1.select( #2, true )
从数据源ds1中选取第二个字段列的所有值并降序排列
#例3:ds1.select( name,false,sex=='1')
从数据源ds1中选取性别为男性('1')的name字段列的值并升序排列
#例4:ds1.select( name, true, sex=='1', id )
# ds1.select( name, true,, id )
从数据源ds1中选取性别为男性的name字段列的值并按id字段降序排列
评论前必须登录!
注册