海鷗航際

          JAVA站
          posts - 11, comments - 53, trackbacks - 1, articles - 102
          <%@ 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方式更為靈活方便
          主站蜘蛛池模板: 灵丘县| 丽江市| 江城| 玉屏| 冀州市| 新巴尔虎右旗| 雷波县| 大埔县| 花莲市| 德安县| 海南省| 修武县| 肥乡县| 延津县| 兴宁市| 英德市| 崇州市| 哈密市| 石河子市| 锡林浩特市| 临沭县| 濮阳县| 松阳县| 陵川县| 林周县| 正阳县| 黎城县| 嘉义县| 株洲市| 大田县| 富平县| 井研县| 泉州市| 左贡县| 临海市| 陆丰市| 庄浪县| 涿鹿县| 德州市| 涟源市| 天祝|