jasperreport可以用Collection做為數據源,這種方式比用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做為數據源,這種方式比用Connection方式更為靈活方便

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

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

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類(42)

          隨筆檔案(43)

          文章分類

          相冊

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 疏附县| 马关县| 孟津县| 福贡县| 格尔木市| 盈江县| 四川省| 大埔区| 蒲江县| 天水市| 朝阳县| 霍邱县| 沈丘县| 高安市| 炎陵县| 利辛县| 宿州市| 突泉县| 乌海市| 融水| 边坝县| 南溪县| 宜宾县| 东宁县| 岐山县| 嘉善县| 皮山县| 双流县| 大连市| 宜宾市| 逊克县| 郧西县| 大姚县| 伊金霍洛旗| 甘肃省| 天镇县| 辽阳市| 永嘉县| 马龙县| 河池市| 鲁山县|