jasperreport可以用Collection做為數(shù)據(jù)源,這種方式比用Connection方式更為靈活方便

          ?

          <% @?page?contentType = " text/html;charset=GBK " ? %>
          <% @?page?import = " dori.jasper.engine.* " ? %>
          <% @?page?import = " java.util.* " ? %>
          <% @?page?import = " java.io.* " ? %>
          <% @?page?import = " java.sql.* " ? %>
          <% @?page?import = " com.zx.report.util.CarUse " %>
          <% @?page?import = " dori.jasper.engine.data.* " ? %>
          <%
          Connection?conn?
          = ? null ;
          Statement?st?
          = ? null ;
          ResultSet?rs?
          = ? null ;
          byte []?bytes? = ? null ;
          List?carUseList
          = new ?ArrayList();

          try {

          Class.forName(
          " com.microsoft.jdbc.sqlserver.SQLServerDriver " );
          conn?
          = DriverManager.getConnection( " jdbc:microsoft:sqlserver://10.10.10.207:1433;DatabaseName=report;user=sa;password=111111 " );

          // 以輸入流方式
          ???InputStream?reportFile? = ?getClass().getClassLoader().getResourceAsStream( " carUserBd.jasper " );

          // 以reportFile方式
          // File?reportFile?=new?File(request.getRealPath("/report/carUserBd.jasper"));

          Map?parameters?
          = ? new ?HashMap();


          String?sqlCarUser
          = " SELECT?car.carNo,?dept.Name?,?people.peopleName,carUse.useDescription?, " ? +
          " ?carUse.beginTime?,?carUse.planEndTime?,?carUse.comment?,?carUse.driver, " ? +
          " ?carUse.peopleNumber?,OneWay=?case?carUse.isOneWay??when?0?then?'雙程'??else?'單程'??end,? " ? +
          " isFirst=?case?carUse.priority?when?0??then?'低'?when??1??then??'中'??else??'高'??end,?carUse.start?,? " ? +
          " carUse.destination?,?people.peopleName?as?ratifier?FROM?DEPT_CARUSELOG?carUse?,?DEPT_CARINFO?car?,? " ? +
          " ADMIN_ORGANIZATION?dept?,?PUBLIC_PEOPLEINFO?people?WHERE?carUse.id=290?and? " ? +
          " caruse.carId=car.carId?and?carUse.departId=dept.id?and?carUse.peopleId=people.peopleId " ;

          st?
          = ?conn.createStatement();
          rs?
          = ?st.executeQuery(sqlCarUser);

          while (rs.next()) {
          CarUse?carUse
          = new ?CarUse();
          carUse.setCarNo(rs.getString(
          1 ));
          carUse.setName(rs.getString(
          2 ));
          carUse.setPeopleName(rs.getString(
          3 ));
          carUse.setUseDescription(rs.getString(
          4 ));
          carUse.setBeginTime(rs.getDate(
          5 ));
          carUse.setPlanEndTime(rs.getDate(
          6 ));
          carUse.setComment(rs.getString(
          7 ));
          carUse.setDriver(rs.getString(
          8 ));
          carUse.setPeopleNumber(rs.getString(
          9 ));
          carUse.setOneWay(rs.getString(
          10 ));
          carUse.setIsFirst(rs.getString(
          11 ));
          carUse.setStart(rs.getString(
          12 ));
          carUse.setDestination(rs.getString(
          13 ));
          carUse.setRatifier(rs.getString(
          14 ));

          carUseList.add(carUse);

          }


          JRBeanCollectionDataSource?ds?
          = ? new ?JRBeanCollectionDataSource(carUseList);

          bytes?
          =
          JasperRunManager.runReportToPdf(
          reportFile,
          parameters,
          ds);
          String?fileName?
          = ? " test.pdf " ;
          response.setContentType(
          " application/pdf " );
          response.addHeader(
          " Content-Disposition " ,
          " attachment;filename=\ "" ?+?fileName);

          response.setContentLength(bytes.length);
          ServletOutputStream?ouputStream?
          = ?response.getOutputStream();

          System.
          out .println( " 5 " );
          ouputStream.write(bytes,?
          0 ,?bytes.length);
          ouputStream.flush();
          ouputStream.close();

          }
          ? catch ?(SQLException?sqle)? {

          System.
          out .println( " SQLException: " ? + ?sqle.getMessage());

          }
          ? catch ?(JRException?e)? {
          e.printStackTrace();
          }
          catch (ClassNotFoundException?cnfe) {


          }


          %>
          jasperreport可以用Collection做為數(shù)據(jù)源,這種方式比用Connection方式更為靈活方便

          posted on 2006-11-28 22:40 Tom 閱讀(351) 評論(0)  編輯  收藏 所屬分類: 報表工具

          <2006年11月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(1)

          隨筆分類(42)

          隨筆檔案(43)

          文章分類

          相冊

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 武城县| 汨罗市| 平谷区| 天水市| 阳城县| 定安县| 九江县| 四会市| 清流县| 新乡县| 阳西县| 华蓥市| 长沙市| 冕宁县| 微山县| 南皮县| 博客| 中西区| 拉萨市| 仁化县| 新余市| 合作市| 平乐县| 阿拉尔市| 林周县| 呼伦贝尔市| 仙居县| 秦皇岛市| 临沧市| 承德县| 开封市| 手游| 门源| 安丘市| 黄大仙区| 孟村| 大城县| 临夏市| 吴堡县| 横山县| 康马县|