JasperReportsÊÇÒ»¿î³¹µ×¸ù¾Ýjava׫дµÄ¿ªÔ´ÏµÍ³±¨±íÈí¼þ¡£Ëü¿ÉÒÔÓ¦ÓÃÊý¾ÝÐÅÏ¢À´Ô´ÓÚÒ»ÇÐÖÖÀàµÄÊý¾Ý¿â£¬Äܹ»Éú³ÉÇåÎú¶È¼¶Îı¾Îĵµ£¬´òÓ¡³ö»òµ¼³öÀ´ÔÚ¸÷ÖÖ¸÷ÑùÎı¾¸ñʽ£¬°üº¬HTML£¬PDF£¬Excel£¬OpenOfficeºÍWord¡£±ØÐëµÄÅóÓÑÏÂÔØÊÔÊÔ°É£¡
JasperReportsµÄ±¨¸æÄ£°åÄܹ»ÒÔiReportÕâÀàµÄµÀ¾ßÀ´ÖÆ×ö£¬Ö»Ðè°Ñ»ã±¨´æ´¢³ÉXMLÎļþ¸ñʽ£¬¾Í¿ÉÒÔÈÃJasperReportÔĶÁÎÄÕ£¬ËæºóÔÙ±àÒë³ÌÐò±ä³É.jasperµµ¡£
JasperReportsÊÇÊÀ½ç×îʱÐ˵ĿªÔ´ÏµÍ³»ã±¨Ä£¿é¡£ËüÊÇÒ»µãÓÃJava׫дµÄ,ËüÊÇ¿ÉÒÔÓ¦ÓõÄÊý¾ÝÐÅÏ¢À´Ô´ÓÚÒ»ÇÐÖÖÀàµÄÊý¾Ý¿â,²¢Éú³ÉÇåÎú¶È¼¶µÄÎı¾Îĵµ,Äܹ»²éѯ£¬´òÓ¡³ö»òµ¼³öÀ´ÔÚ¶àÖÖ¶àÑùÎı¾¸ñʽ,°üº¬HTML£¬PDF£¬Excel£¬OpenOfficeºÍdoc¡£
JasperReportsÈçºÎʹÓÃ
Ò»£¬½¨Á¢¼òÒ×µÄjrxmlÎļþ
?xml version=1.0?
!DOCTYPE jasperReport
PUBLIC -//JasperReports//DTD Report Design//EN
dtds/jasperreport.dtd
jasperReport name=FirstReport
detail
band height=20
staticText
reportElement x=20 y=0 width=200 height=20 /
text![CDATA[If you dont see this, it didnt work]]/text
/staticText
/band
/detail
/jasperReport
Ö®ÉÏÊÇÒ»¸ö¼òÒ×µÄJRXMLÎļþ£¬ÊÂʵÉÏÊÇÒ»¸ö¹æ·¶µÄXMLÎļþ£¬jasperReportÊǸùÔËØ£¬staticText±íÃ÷¾²Ì¬Êý¾ÝµÄÊý¾ÝÐÅÏ¢£¬reportElement½ç¶¨ÁËstaticTextµÄ¾ßÌåλÖúÍ×Ü¿í,text½ç¶¨Á˾ßÌåµÄÊý¾Ý¸ñʽ¡£
¶þ,°ÑJRXMLÎļþ·ÖÎö³ÉjasperÎļþ,ÎļþÁ÷»òJasperReport¶ÔÏó£¨ÒÀ¾Ý¾ßÌåÇé¿ö£©
1.´´½¨Ò»¸öWEB¹¤³ÌÏîÄ¿£¬ÔÙÔÚWEBROOTÎļþĿ¼Ï´´½¨Ò»¸öÎļþĿ¼report
2.Ó¦ÓÃJasperCompileManagerÀï±ßµÄ·½Ê½·ÖÎöJRXMLÎļþ³ÉjasperÎļþ,ÎļþÁ÷»òJasperReport¶ÔÏó
°ÑJRXMLÎļþparse£¬ÔÙcomplie³ÉjasperÎļþ
JasperCompileManager.compileReportToFile(WebRoot/report/jasperreports_demo.jrxml, WebRoot/report/langhua.jasper);
»òÊÇÉú³ÉJasperReport¶ÔÏó
public static JasperReport compileReport(WebRoot/report/jasperreports_demo.jrxml)
»òÊÇÒÔÁ÷µÄ·½Ê½Éú³É
public static void compileReportToStream(InputStream inputStream,OutputStream outputStream)
×ÔÈ»JasperCompileManager»¹¿ÉÒÔ°ÑJasperÎļþ±äΪJRXMLµÄ(°üº¬JRXMLÁ÷,È«ÊǾ²Ì«µÄ·½Ê½)
writeReportToXmlStream
writeReportToXmlFile
Èý,ÓµÓÐJasperReport¶ÔÏó£¬ÎļþÁ÷»òjasperÎļþÒԺ󣬾ͿÉÒÔÓÃJasperFillManagerÉú³ÉJasperPrint¶ÔÏó,jrprintÎļþ£¬jrprintÎļþÁ÷
ÈçÏÂËùʾ
Éú³ÉJasperPrint ¶ÔÏó
public static JasperPrint fillReport(JasperReport jasperReport,Map parameters, JRDataSource dataSource)
Éú³ÉÆäËû
//Éú³ÉÎļþ
public static void fillReportToFile(
String sourceFileName,
String destFileName,
Map parameters,
Connection connection
)
//ÎļþÁ÷
public static void fillReportToStream(
JasperReport jasperReport,
OutputStream outputStream,
Map parameters,
Connection connection
)
µÚËIJ½£¬Ó¦ÓÃJasperExportManagerµ¼³öÀ´»ò±íÃ÷
JasperExportManager.exportReportToHtmlFile(jasperPrint, c://1.html);
JasperExportManager.exportReportToPdfFile(jasperPrint, c://1.pdf);
//Ò²ÓÐÐí¶à·½Ê½µÄ
ÏêϸµÄÊÂÀý
JasperReport jasperReport;
JasperPrint jasperPrint;
try{
jasperReport = JasperCompileManager.compileReport(WebRoot/report/jasperreports_demo.jrxml);
jasperPrint = JasperFillManager.fillReport(jasperReport, new HashMap(),new JREmptyDataSource());
JasperExportManager.exportReportToPdfFile(jasperPrint, c://1.pdf);
}
catch (JRException e){
e.printStackTrace();
}
±¨±íÈí¼þÊÇÆóÒµ¹ÜÀíµÄ»ù´¡Èí¼þ¡£ÔÚ¹¤×÷ÖУ¬±¨±íÄܹ»ÇåÎúÖ±¹ÛµØÏÔʾÊý¾Ý¡¢Í¼±íÐÅÏ¢£¬²¢°²È«¿É¿¿µØÏòÓû§³ÊÏÖÊý¾Ý¡£±¨±íʹÎÒÃǵŤ×÷¸ü¼Ó·½±ãºÍÓÐЧ¡£¹¤È˶Ա¨±íµÄÐèÇóÊÇÇåÎú¡¢Ö±¹Û¡¢¼òµ¥ºÍÒ»°ãµÄ¡£°ì¹«Èí¼þ¿ÉÄÜÎÞ·¨Âú×ãÎÒÃǵÄÐèÇó¡£ÕâÀïÓÐһЩÓÐÓõı¨¸æÈí¼þ¡£¶àÌØÈí¼þרÌâΪÄúÌṩ±¨±íÈí¼þ,±¨±í¼Ç¼Èí¼þ,¿Í»§±¨±íÈí¼þ¡£¶àÌØÈí¼þÕ¾Ö»ÌṩÂÌÉ«¡¢ÎÞ¶¾¡¢ÎÞ²å¼þ¡¢ÎÞľÂíµÄ´¿ÂÌÉ«Èí¼þÏÂÔØ¡£
¶àÌØÈí¼þרÌâΪÄúÌṩ¿ªÔ´Èí¼þ,Ê®´ó¿ªÔ´Èí¼þ,¿ªÔ´Èí¼þÏÂÔØ£¬°²×¿Æ»¹û°æÈí¼þappÒ»Ó¦¾ãÈ«¡£
¶àÌØÈí¼þרÌâΪÄúÌṩ±¨±í¹¤¾ß,Ãâ·Ñ±¨±í¹¤¾ß,³£Óñ¨±í¹¤¾ß;°²×¿Æ»¹û°æÈí¼þappÒ»Ó¦¾ãÈ«¡£¶àÌØÈí¼þÕ¾Ö»ÌṩÂÌÉ«¡¢ÎÞ¶¾¡¢ÎÞ²å¼þ¡¢ÎÞľÂíµÄ´¿ÂÌÉ«¹¤¾ßÏÂÔØ
¶àÌØÈí¼þվΪÄúÌṩ×ö×îÐÂͳ¼Æ±¨±íÈí¼þרÌâ,ÔÚÕâÀﰲ׿°æÆ»¹û°æµÈÓ¦ÓÃÓ¦Óо¡ÓУ¬ÕÒ×îÐÂͳ¼Æ±¨±íÈí¼þͳ¼Æ±¨±íÈí¼þ¾ÍÀ´¶àÌØÈí¼þÕ¾¡£
¶àÌØÈí¼þվΪÄúÌṩocr¿ªÔ´Èí¼þרÌâ,ÔÚÕâÀïµçÄ԰氲׿°æÆ»¹û°æµÈÓ¦ÓÃÓ¦Óо¡ÓУ¬ÕÒocr¿ªÔ´Èí¼þ¾ÍÀ´¶àÌØÈí¼þÕ¾¡£