欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
BIRT部署并利用API生成PDF

Birt報表設計步驟:

1、下載birt all in one 2.2.1.1,包含eclipse,解開(kāi)下載文件
      啟動(dòng)eclipse,必須使用JDK1.5啟動(dòng)eclipse,否則新建工程對話(huà)框中沒(méi)有birt的相關(guān)選項


2、新建report project和report
      打開(kāi)data explorer視圖,新建一個(gè)data sources,定義數據庫連接driver/url/用戶(hù)名/密碼,在"Manage Drivers..."中把jdbc的jar加進(jìn)來(lái)


3、新建Report Parameter,設置參數名稱(chēng)、類(lèi)型,參數值將來(lái)通過(guò)url傳遞或使用程序方式賦值


4、新建data sets,設置Query,即preparedStatement語(yǔ)句,設置dataset的Pameters,即reparedStatement中的“?”,使之和report parameter關(guān)聯(lián); 如果dataset的Parameter的值不是來(lái)自于Report Parameter,例如來(lái)自另外一個(gè)dataset, 可不設置關(guān)聯(lián),而在報表內容中設置和其它data set字段的關(guān)聯(lián)(見(jiàn)步驟8)

5、如果data set對應的sql是動(dòng)態(tài)生成的,可以設置“property Binding”,在Query Text中輸入sql和表達式,其中可以使用Report Parameter和javascript語(yǔ)句,運行時(shí)將執行Property Binding中的Query Text,而不執行Query中的preparedStatement,但是Query中的preparedStatement在設計報表時(shí)還是有用的,因為可以看到運行結果的字段列表,只要preparedStatement和Query Text返回相同的字段即可

6、將定義好的data set拖動(dòng)到設計界面上,會(huì )自動(dòng)在報表放置一個(gè)Table

7、如要對table的某列合計,從Palette視圖中拖一個(gè)“Aggregation”到設計界面

8、如要Master-Sleve報表,則在Table中再放置一個(gè)Table。例如一個(gè)dataset是客戶(hù)基本信息,每個(gè)客戶(hù)一條記錄,另一個(gè)data set是客戶(hù)交易明細,每個(gè)客戶(hù)可能有多條記錄,則先將客戶(hù)基本信息的dataset拖置設計界面,會(huì )自動(dòng)放置一個(gè)Table,然后將客戶(hù)交易明細的dataset拖置前一個(gè)Table中適當位置,即生成一個(gè)Table中的Table。選中交易明細的Table,打開(kāi)PropertyEditor視圖,在binding欄中,選擇交易明細的data set,按“Dataset ParameterBinding...”,選擇“CUST_ID"字段,將其和客戶(hù)基本信息data set的CUST_ID關(guān)聯(lián)起來(lái)(row["CUST_ID"])

9、按需要調整報表的樣式,從eclipse工具欄中選擇“view report in web viewer”,如果設置了Report Parameter,會(huì )出現一個(gè)對話(huà)框,要求輸入Report Parameter的值,按確定后生成報表內容

10、在webviewer中,鼠標右建點(diǎn)按生成的報表,選“屬性”,獲取url,開(kāi)一個(gè)空白IE,復制url到地址欄,在url最后用“&參數名=參數值”方式,把ReportParameter加進(jìn)url,按回車(chē),直接出現報表結果,不再出現報表參數輸入對話(huà)框。還可以pdf/doc/html等格式預覽生成的報表

Birt報表部署步驟:

部署設計好的報表很簡(jiǎn)單,只需要下載Birt runtime,將Birtruntime部署為一個(gè)web應用,報表設計文件復制到該應用的根目錄即可。為方便起見(jiàn),以下將Birtruntime部屬為一個(gè)獨立的應用,當然也可以將Birt runtime整合到你的web應用中

1、下載birt runtime 2.2.1.1,解開(kāi)下載文件
2、將birt rumtime解開(kāi)后的目錄下的部署為一個(gè)web應用,使用JDK1.4.2或以上版本
3、將報表設計步驟中生成的設計文件(*.retdesing文件)復制到web應用所在目錄
4、確保以下文件在WEB-INF/lib目錄下存在,如果沒(méi)有,從all in one中搜索復制過(guò)來(lái)
       com.ibm.icu_3.6.1.v20070906.jar
       coreapi.jar
       engineapi.jar
       scriptapi.jar
5、將jdbc的jar或zip文件復制到WEB-INF\platform\plugins\org.eclipse.birt.report.data.oda.jdbc_2.2.1.r22x_v20070919\drivers目錄下
6、刪除WEB-INF\platform\org.eclipse.birt.report.data.oda.sampledb_2.2.1.r22x_v20070919目錄(示例數據庫,沒(méi)什么用處),否則生成報表時(shí)有不必要的警告信息出現
7、啟動(dòng)web server,修改設計步驟第10步獲得的url,使IP/端口/web應用名稱(chēng)符合你的Birt runtime部署,在IE中可以查看報表內容 

使用Birt提供API以程序方式生成報表結果,例如生成PDF格式的報表結果,代碼片段如下:

Java代碼
  1. import java.util.HashMap;  
  2. import java.util.logging.Level;  
  3.   
  4. import java.io.OutputStream;  
  5. import java.io.FileOutputStream;  
  6. import java.io.ByteArrayOutputStream;  
  7.   
  8. import org.eclipse.birt.core.framework.Platform;  
  9. import org.eclipse.birt.report.engine.api.EngineConfig;  
  10. import org.eclipse.birt.report.engine.api.EngineConstants;  
  11. import org.eclipse.birt.report.engine.api.EngineException;  
  12. import org.eclipse.birt.report.engine.api.IReportEngine;  
  13. import org.eclipse.birt.report.engine.api.IReportEngineFactory;  
  14. import org.eclipse.birt.report.engine.api.IReportRunnable;  
  15. import org.eclipse.birt.report.engine.api.IRunAndRenderTask;  
  16. import org.eclipse.birt.report.engine.api.PDFRenderOption;  
  17.   
  18. public class PDFReportServiceAccess  
  19. {  
  20.     /** *//** 初始化的狀態(tài) */  
  21.     protected static boolean initStatus = false;  
  22.   
  23.     private static IReportEngine engine = null;  
  24.   
  25.     private static EngineConfig config = null;  
  26.       
  27.     private static IReportRunnable design = null;  
  28.       
  29.     private static PDFRenderOption ro = null;  
  30.   
  31.     /** *//** 初始化資源 */  
  32.     public void initilize()  
  33.     {  
  34.     if ( initStatus == true )  
  35.         return;  
  36.   
  37.     try  
  38.     {  
  39.         config = new EngineConfig();  
  40.         config.setEngineHome( "C:/projects/birt/WEB-INF/platform" );  //birt runtime web應用中的報表引擎目錄  
  41.         config.setLogConfig( "C:/projects/birt/logs", Level.FINE );  
  42.   
  43.         Platform.startup( config );  
  44.         IReportEngineFactory factory = ( IReportEngineFactory ) Platform  
  45.             .createFactoryObject( IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );  
  46.         engine = factory.createReportEngine( config );  
  47.         engine.changeLogLevel( Level.WARNING );  
  48.   
  49.         ro = new PDFRenderOption();  
  50.       //  ro.setBaseURL( "http://localhost:8080/birt" ); //birt runtime web應用  
  51.         config.getEmitterConfigs().put( "pdf", ro ); //生成pdf格式  
  52.   
  53.         initStatus = true;  
  54.   
  55.     }  
  56.     catch ( Exception ex )  
  57.     {  
  58.         ex.printStackTrace();  
  59.         initStatus = false;  
  60.     }  
  61.     }  
  62.   
  63.     /** *//** 釋放資源 */  
  64.     public void release()  
  65.     {  
  66.     engine.shutdown();  
  67.     Platform.shutdown();  
  68.   
  69.     initStatus = false;  
  70.     }  
  71.   
  72.     protected OutputStream run( String filename, HashMap parameters ) throws EngineException  
  73.     {  
  74.     design = engine.openReportDesign( filename );  
  75.       
  76.     // Create task to run and render the report,  
  77.     IRunAndRenderTask task = engine.createRunAndRenderTask( design );  
  78.     HashMap contextMap = new HashMap();  
  79.     contextMap.put( EngineConstants.APPCONTEXT_PDF_RENDER_CONTEXT, ro );  
  80.     task.setAppContext( contextMap );  
  81.     task.setParameterValues( parameters );  
  82.     task.validateParameters();  
  83.   
  84.     OutputStream os = new ByteArrayOutputStream();  
  85.     ro.setOutputStream( os );  
  86.     ro.setOutputFormat( "pdf" );  
  87.     task.setRenderOption( ro );  
  88.   
  89.     task.run();  
  90.     task.close();  
  91.   
  92.     return os;  
  93.     }  
  94.   
  95.     /** *//** 
  96.          * 生成PDF格式報表,以OutputStream格式返回 
  97.          *  
  98.          * @param filename 報表設計文件名全路徑 
  99.          * @param parameters 
  100.          *                報表參數 
  101.          * @return ByteArrayOutputStream 
  102.          * @throws EngineException 
  103.          */  
  104.     public OutputStream call( String filename, HashMap parameters ) throws EngineException  
  105.     {  
  106.     initilize();  
  107.     OutputStream os = run( filename, parameters );  
  108.     release();  
  109.       
  110.     return os;  
  111.     }  
  112.   
  113.     /** *//** 
  114.          * @param args 
  115.          */  
  116.     public static void main( String[] args )  
  117.     {  
  118.     HashMap parameters = new HashMap();  
  119.                      //三個(gè)Report Parameters,名稱(chēng)必須在報表設計文件中預先定義好  
  120.     parameters.put( "begindate""2004/01/01" );  
  121.     parameters.put( "enddate""2007/12/31" );  
  122.     parameters.put(  "sql"" where cust_id = 1234567" );  
  123.       
  124.     ByteArrayOutputStream bos = null;  
  125.   
  126.     PDFReportServiceAccess ebr = new PDFReportServiceAccess();  
  127.   
  128.     String filename = "C:/projects/birt/batch_report.rptdesign";  
  129.     try  
  130.     {  
  131.         bos = ( ByteArrayOutputStream ) ebr.call( filename, parameters );  
  132.         OutputStream fis = new FileOutputStream( "c:/test.pdf" );  
  133.         bos.writeTo( fis );  
  134.     }  
  135.     catch ( Exception e )  
  136.     {  
  137.         e.printStackTrace();  
  138.     }  
  139.     }  
  140.   
  141. }  
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
birt 定時(shí)生成報表
Eclipse及其插件介紹和下載
ireport+jasperreport使用心得
推薦6款常用的Java開(kāi)源報表制作工具
BIRT World: BIRT 1.0.1 Feature Set
基于java的開(kāi)源報表系統 BIRT
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久