对于一些特殊的数据导出是一个特别让人头疼的问题!但是这样的数据呢还需要导出。
例如:导出数据不能一次查出来,需要二次查询,但是二次查询的SQL又是动态拼写的!如果多层封装容易乱,而且不好理解。
可以直接在java类里动态定义字符串,然后以变量的形式传入Excel,拼成SQL。
下面贴出代码:
String ppq="select * from test t where t.pkid in ("
+ "select t2.pkid from test2 t2 "
+ "where t2.pkid = '";
String pph = null;
if (a.length() == 5) {
pph = "' and t2.name like '" + a
+ "'||'%' ";
} else if (a.length() == 7) {
pph = "' and name = '" + a + "'";
}
pph += ")";
beans.put("ppq", ppq);
beans.put("pph", pph);
在Excel中可以直接用变量往外取,然后按照Excel中定义SQL的标准方法编写就可以了!