在企業(yè)應(yīng)用中報(bào)表生成是一個(gè)無法回避的問題,對(duì)格式的要求也是多種多樣的
特別是excel的,直接生成需要自己一行一行的填寫,麻煩之極.
利用excel模板生成excel文件.省去直接寫代碼生成報(bào)表之苦,還可以任意設(shè)計(jì)報(bào)表樣式
免去一格一格填寫之苦,趕緊使用吧:)
目前基本實(shí)現(xiàn)了簡單報(bào)表的生成的需要
支持循環(huán)和條件判斷
控制語法如下
#if:exp
eg:
#for:#{employee}#
#for:exp
#end#exp
#elsif:exp
表達(dá)式語法為:#{xxx.xxx}
其中循環(huán)中的每個(gè)元素用item表達(dá).支持普通對(duì)象,map,list,javabean,如同jstl
目前沒有實(shí)現(xiàn)的功能嵌套語句,不支持控制語句的嵌套(報(bào)表中應(yīng)該不需要如此復(fù)雜的功能)和pdf版
基本使用方法為:
1:把kebo-0.1.jar
commons-jexl-1.0.jar,
commons-logging.jar,
jxl.jar
log4j-1.2.9.jar放入classpath,配置好log4j.xml(也可不配置)
2:代碼如下:
OutputStream writer = new FileOutputStream("Book2.xls");//生成的報(bào)表文件
InputStream is = new FileInputStream("Book1.xls");//報(bào)表模板文件
TemplateEngine engine = EngineFactory.createEngine("excel");//創(chuàng)建excel報(bào)表引擎
engine.assertObject("modul",modul);//加入數(shù)據(jù)
Students s = new Students();
s.setName("小東");
s.setAge("23");
engine.assertObject("student",s);
engine.assertObject("employee",modul.get("employee"));
engine.evaluate(is,writer);//執(zhí)行轉(zhuǎn)換,生成報(bào)表
如果各位同學(xué)在使用當(dāng)中有問題,請(qǐng)及時(shí)反饋給我,謝謝.mail:huang.kebo@gmail.com
源碼編譯,導(dǎo)入到eclipse中,直接ant目錄下的build.xml即可
http://www.tkk7.com/Files/kebo/ReportTemplateEngine.rar
網(wǎng)速慢的朋友,留下mail.發(fā)給你們
posted on 2006-05-23 11:00
kebo 閱讀(2796)
評(píng)論(6) 編輯 收藏 所屬分類:
java