问题描述
本人利用几个月的下班时间,开发出这套API。目地是为了减轻开发人员做xls报表的痛苦;从很多使用过poi.jar的网友了解到,针对直接使用poi.jar进行开发,存在一些不足之处:第一点:现在使用poi开发的人员不是很多(虽然不断增加),对它不是很了解。在需要用到poi时开发人员不得不上网查找,必然是能查找到的,但要花时间,想一想:对一个公司,时间就是效率,就是金钱;第二点:有很多使用过poi的同行,可能也不能完全了解poi的功能,不能充分利用poi;当然本人开发的这套现在也不能完全提现了poi所有的功能(不过没关系,我留了一个扩展接口,呵呵);第三点:直接使用poi开发出的Code不好维护。想一想,当你的用户对你说:“这样打出来的报表不好看”;哈哈,这就意味着,你要改样式,改Code的了;相信这一点,所有开发人员都会想尽力避开的(我就是因为这一点,才下定决心开发出这套API的);好了,该说说PoiXML.jar的一些优点了第一点:若你需要打印xls格式报表,你可以不知道poi是什么;当然,你若想要增强PoiXML的功能,你就必须要懂了,呵呵第二点:开发简单;总体分三步:1.配置你将要打印的报表样式文件,是xml形式,用的时候,你感觉就像是画html,jsp页面一样,非常简单;2.导入数据源;3.开始开印;开发人员正真写的Code只有几行,就能打印出一份想要的报表。第三点:维护方便,简单;就像上面说的那样,当客户想要改变报表的布局时,呵呵,不用怕了,开发员只需要改一下,xml报表样式文件就可以了,不需改动Code;当然,若是数据拿错了,那就没办法了;有意者,请联系...======================联系人:廖先生电话:13510186084
解决方案
解决方案二:
由于,资料都在家,暂时不能给出更完整的信息QQ:237779247==============想让使用过poi打印xls报表的变简单的,请加我QQ
解决方案三:
下面是一个简间的报表模板文件f://model.xml-----------------------<report><!--声明数据源--><dataDefineArea><dataListname="studentList"subtype="com.cn.nmt.StudentBo"/><dataStringname="sheet_name"value="Van_Sheet"/><dataBeanname="titles_bean"type="com.cn.nmt.titleBo"/></dataDefineArea><!--报表布局--><workbookfilename="E:/temp/test.xls"><sheetname="$(sheet_name)"style="font-size:12;font-color:red;"><rowref="titles_bean"><cellvalue="$(ds.stuName)"/><cell>$(ds.stuAge)</cell><cell>$(ds.stuSex)</cell><cell>$(ds.stuDate)</cell></row><iteratorref="studentList"><iftest="$(item.isBoy)"><rowrowNum="2"style="bg-color:blue;"><cell>$(ds.name)</cell><cell>$(ds.age)</cell><cell>$(ds.sex)</cell><cell>$(ds.date.format['yyyy-MM-dd'])</cell></row></if><else><rowrowNum="2"style="bg-color:red;"><cell>$(ds.name)</cell><cell>$(ds.age)</cell><cell>$(ds.sex)</cell><cell>$(ds.date.format['yyyy-MM-dd'])</cell></row></else></iterator></sheet></workbook></report>生成报表Code==================Filef=newFile("f://model.xml");InputStreaminput=null;try{input=newFileInputStream(f);XlsReportxls=newXlsReport(input);xls.setReportData("studentList",数据源对象);xls.setReportData("sheet_name",数据源对象);xls.setReportData("titles_bean",数据源对象);xls.print();}catch(Exceptione){e.printStackTrace();}================以上就完成了一份简单的报表