report组件是用excel显示数据的,所有数据的显示格式可以通过excel单元格显示样式中的格式控制
对于Date(非DateTime)类型如果要设置单元格格式需要在java中返回Table前对数据进行处理
如:设置显示XXXX年XX月的格式
1.excel中的设置
2.reportData关联的action对应的java中table的处理
public static Table reportDate(){ String ksql = "select AP_RQ.fName,AP_RQ.fRQ as fRQD,AP_RQ.fRQSJ from AP_RQ AP_RQ"; Table table = KSQL.select(ksql, null, "/appdemo/test/data", null);//执行ksql table.addColumn("fRQ", "String");//在table中新添加一列 Iterator<Row> it = table.iterator();//遍历table操作里面的数据 while (it.hasNext()) { Row r = it.next(); if(r.getValue("fRQD")!= null){ String rDate = r.getValue("fRQD").toString() + "T00:00:00.000Z";//获取Date类型的列数据进行类型转换并拼接为报表需要的格式 r.setValue("fRQ", rDate.toString());//把转换格式后的数据赋值给新添加的列,report中显示这个列 } } return table; }
评一波