<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      WEB應用中報表打印的完成

      [摘要]隨著世界范圍內Internet環境的形成,全球正進入一個以網絡為中心的計算時代。Web模型是在傳統的C/S模型的基礎上發展起來的一種新的Browser/Server計算模式。Browser/Serv...

      隨著世界范圍內Internet環境的形成,全球正進入一個以網絡為中心的計算時代。Web模型是在傳統的C/S模型的基礎上發展起來的一種新的Browser/Server計算模式。Browser/Server模型簡化了C/S中的客戶端,客戶端只需裝上操作系統、網絡協議軟件及瀏覽器;而服務器端則集中了所有的應用邏輯,開發、維護等幾乎所有工作也都集中在服務器端。這時的客戶機被稱為瘦客戶機,服務器被稱為肥服務器。而WEB應用中的客戶端的報表打印則沒有C/S模型那么容易實現,如何在不使用ActiveX控件的情況下,實現打印字體、字體顏色、表格寬度、打印紙型等的設置。下面就以一個小例子來說明。 

      一、 創建數據庫 

      用 ACCESS創建一個名為user.mdb的數據庫,然后建一張名為user的表,表結構如下: 

      字段名稱 數據類型 

      username 文本 

      name 文本 

      sex 文本 

      二、 在asp中的實現 

      創建一個名為aspreport.asp的文件,其源代碼如下: 

      <% 

      '等到文本緩沖完才顯示 

      response.buffer = true 

      dim accessdb, cn, rs, sql 

      '數據庫名 

      accessdb="user.mdb" 

      '連接數據庫 

      cn="DRIVER={Microsoft Access Driver (*.mdb)};" 

      cn=cn & "DBQ=" & server.mappath(accessdb) 

      '創建記錄集 

      Set rs = Server.CreateObject("ADODB.Recordset") 

      '查詢語句 

      sql = "select * from user " 

      '開始查詢 

      rs.Open sql, cn 

      %> 

      <% 

      '告訴瀏覽器用word來顯示文檔內容 

      Response.ContentType = "application/msword" 

      '文檔設定 

      response.AddHeader "content-disposition", "inline; filename=report.doc" 

      %> 

      <html> 

      <head> 

      <title>報表</title> 

      </head> 

      <body bgcolor="#FFFFFF"> 

      <center><h1>報表</h1></center> 

      <table border=1 cellspacing=0 cellpadding=0 bordercolor=#000000 align=center> 

      <tr> 

      <td>用戶名</td> 

      <td>真實姓名</td> 

      <td>性別</td> 

      </tr> 

      <% 

      '移到第一個記錄 

      rs.movefirst 

      do while not rs.eof 

      %> 

      <tr> 

      <td><%= rs("username") %></td> 

      <td><%= rs("name") %></td> 

      <td><%= rs("sex") %></td> 

      </tr> 

      <% 

      '移到下一個記錄 

      rs.movenext 

      loop %> 

      <% 

      '關閉記錄集 

      rs.close 

      set rs=nothing 

      response.flush 

      response.end 

      %> 

      </table> 

      </body> 

      </html> 

      把上面的report.asp文件和user.mdb數據庫放在同一目錄下,再用iis或pws把他們所在的目錄發布,打開瀏覽器,只要客戶端機子上有裝word,就會自動調用word以內嵌方式在瀏覽器上顯示,此時完全可以像使用word一樣來調整和打印。 

      三、 在jsp中的實現 

      創建一個名為jspreport.jsp的文件,其源代碼如下: 

      <%@ page contentType="application/msword;charset=gb2312" %> 

      <%@ page import="java.sql.*" %> 

      <html> 

      <head> 

      <title>報表</title> 

      </head> 

      <body bgcolor="#FFFFFF"> 

      <center><h1>報表</h1></center> 

      <table border=1 cellspacing=0 cellpadding=0 bordercolor=#000000 align=center> 

      <tr> 

      <td>用戶名</td> 

      <td>真實姓名</td> 

      <td>性別</td> 

      </tr> 

      <% 

      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 

      String url="jdbc:odbc:user"; 

      //連接user數據庫 

      Connection con=DriverManager.getConnection (url, "", ""); 

      Statement stmt=con.createStatement(); 

      ResultSet rs=stmt.executeQuery("select * from user "); 

      //查詢user表 

      while(rs.next()){ 

      %> 

      <tr> 

      <td><%= rs.getString("username") %></td> 

      <td><%= rs.getString("name") %></td> 

      <td><%= rs.getString("sex") %></td> 

      </tr> 

      <% 



      %> 

      <% 

      rs.close(); 

      stmt.close(); 

      con.close(); 

      %> 

      </table> 

      jsp的服務器以TOMCAT為例,把上面的jspreport.jsp和user.mdb放在TOMCAT的root目錄下。在控制面板的ODBC中建立相應的DSN,類型mdb數據庫,數據源名為user。啟動TOMCAT,輸入相應的url,就可以看到和以上面asp一樣的效果。 

      以上只是一個簡單的例子,在作報表時,可以先用word設計好,然后另存為網頁,再利用此網頁改編成相應的腳本,就可以達到較好的效果。此方法有一個限制就是客戶端要有word軟件,但是會比使用ActiveX控件安全和方便,而且服務器端使用的平臺與WebServer是可以比較靈活的,特別適用于基于web的OA系統。


      日韩精品一区二区三区高清