<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    allen
    專注于java ee技術(shù),包括struts,jsf,webwork,spring,hibernate,ibatis
    posts - 7,  comments - 9,  trackbacks - 0

    jasperreport中可以使用List作為數(shù)據(jù)源,使用格式如下.
    List list=this.customerDao.getAllCustomer();? //得到所有客戶
    JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(list);
    ???JasperPrint jasperPrint = JasperFillManager.fillReport(
    ?????reportFilePath, parameters, ds);
    得填充數(shù)據(jù)后,即可輸出顯示到PDF,Excel,Html
    到PDF:
    public byte[] generatePDF(String begCustNo, String endCustNo,
    ???String reportTitle, String reportFilePath) throws DemoException {
    ??// TODO Auto-generated method stub
    ?//begCustNo,endCustNo分別為查詢傳入的開始編號(hào),結(jié)束編號(hào).
    ??jdbcCustomerDao = new JdbcCustomerDao();
    ??Map parameters = new HashMap();
    ??parameters.put("ReportTitle", reportTitle);//報(bào)表標(biāo)題
    ??List list = jdbcCustomerDao.getAllCustomer(begCustNo, endCustNo);
    ???try {
    ???JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(list);
    ???JasperPrint jasperPrint = JasperFillManager.fillReport(
    ?????reportFilePath, parameters, ds);???return JasperExportManager.exportReportToPdf(jasperPrint);
    ??} catch (JRException e) {
    ???throw new DemoException("Report Export Failed.");
    ??}
    ?}
    到Html:
    public byte[] generateHtml(String begCustNo, String endCustNo,
    ???String reportTitle, String reportFilePath) throws DemoException {
    ??jdbcCustomerDao = new JdbcCustomerDao();
    ??Map parameters = new HashMap();
    ??parameters.put("ReportTitle", reportTitle);
    ??List list = jdbcCustomerDao.getAllCustomer(begCustNo, endCustNo);
    ??System.out.println("list size is :" + list.size());
    ??JRHtmlExporter exporter = new JRHtmlExporter();
    ??ByteArrayOutputStream oStream = new ByteArrayOutputStream();
    ??try {
    ???JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(list);
    ???JasperPrint jasperPrint = JasperFillManager.fillReport(
    ?????reportFilePath, parameters, ds);
    ???exporter.setParameter(
    ?????JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN,
    ?????Boolean.FALSE);
    ???exporter
    ?????.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
    ???exporter
    ?????.setParameter(JRExporterParameter.CHARACTER_ENCODING, "GBK");
    ???exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, oStream);
    ???exporter.exportReport();
    ???byte[] bytes = oStream.toByteArray();
    ???return bytes;
    ??} catch (JRException e) {
    ???throw new DemoException("Report Export Failed.");
    ??}
    ?}
    到Excel:
    public byte[] generateExcel(String begCustNo, String endCustNo,
    ???String reportTitle, String reportFilePath) throws DemoException {
    ??jdbcCustomerDao = new JdbcCustomerDao();
    ??Map parameters = new HashMap();
    ??parameters.put("ReportTitle", reportTitle);
    ??List list = jdbcCustomerDao.getAllCustomer(begCustNo, endCustNo);
    ??System.out.println("list size is :" + list.size());
    ??JRXlsExporter exporter = new JRXlsExporter(); // Excel
    ??ByteArrayOutputStream oStream = new ByteArrayOutputStream();
    ??try {
    ???JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(list);
    ???JasperPrint jasperPrint = JasperFillManager.fillReport(
    ?????reportFilePath, parameters, ds);
    ???exporter
    ?????.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
    ???exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, oStream);
    ???exporter.setParameter(
    ?????JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,
    ?????Boolean.TRUE);
    ???exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,
    ?????Boolean.FALSE);
    ???exporter.setParameter(
    ?????JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND,
    ?????Boolean.FALSE);
    ???exporter.exportReport();
    ???byte[] bytes = oStream.toByteArray();
    ???return bytes;

    ??} catch (JRException e) {
    ???throw new DemoException("Report Export Failed.");
    ??}
    ?}

    jsp調(diào)用方法:
    ?<%
    ????
    ???
    ?String filePath=getServletContext().getRealPath("/")+"report.jasper";?

    ?CustomerServiceImpl? custs=new CustomerServiceImpl();
    ??? byte[] bytes=null;
    ? String begNo=request.getParameter("beginCustNo");
    ? String endNo=request.getParameter("endCustNo");
    ? String type=request.getParameter("type");

    ? if(type.equals("Pdf")){?
    ????? bytes=?custs.generatePDF(begNo,endNo,"客戶資料明細(xì)表",filePath);
    ? }else if(type.equals("Excel")){
    ?? bytes=custs.generateExcel(begNo,endNo,"客戶資料明細(xì)表",filePath);
    ? }else
    ???? bytes=custs.generateHtml(begNo,endNo,"客戶資料明細(xì)表",filePath);


    ?if(bytes!=null){
    ??if(type.equals("Pdf")){
    ??????? ?response.setContentType("application/pdf");
    ??}else if(type.equals("Excel")){
    ???? response.setContentType("application/vnd.ms-excel");
    ??}else
    ???response.setContentType("text/html");
    ??? response.setContentLength(bytes.length);
    ??? ServletOutputStream ouputStream = response.getOutputStream();
    ??? ouputStream.write(bytes,0,bytes.length);
    ??? ouputStream.flush();
    ??? ouputStream.close();
    ?}else
    ?{
    ??out.println("error");
    ?}
    ?

    ?

    ? %>

    posted on 2006-11-12 22:21 robbin163 閱讀(6392) 評(píng)論(6)  編輯  收藏

    FeedBack:
    # re: jasperreport生成html,Excel,PDF報(bào)表,數(shù)據(jù)源使用List
    2007-09-06 10:52 | sss
    你引的包都有那些  回復(fù)  更多評(píng)論
      
    # re: jasperreport生成html,Excel,PDF報(bào)表,數(shù)據(jù)源使用List
    2007-09-06 10:53 | sss
    能不能給完整的代碼?我也在做公司報(bào)表。需要一個(gè)完整的代碼  回復(fù)  更多評(píng)論
      
    # re: jasperreport生成html,Excel,PDF報(bào)表,數(shù)據(jù)源使用List
    2007-09-06 11:19 | sss
    還有你的“jdbcCustomerDao = new JdbcCustomerDao();”
    里面的jdbcCustomerDao 這個(gè)包引不出來呀!  回復(fù)  更多評(píng)論
      
    # re: jasperreport生成html,Excel,PDF報(bào)表,數(shù)據(jù)源使用List
    2008-05-20 09:36 | sss
    就是個(gè)垃圾!!  回復(fù)  更多評(píng)論
      
    # re: jasperreport生成html,Excel,PDF報(bào)表,數(shù)據(jù)源使用List
    2009-08-21 09:41 | 你傻啊
    你傻啊, 這是你自己定義的連接的連接數(shù)據(jù)庫的@sss
      回復(fù)  更多評(píng)論
      
    # re: jasperreport生成html,Excel,PDF報(bào)表,數(shù)據(jù)源使用List
    2009-10-28 17:23 | weijiadi
    jdbcCustomerDao 里面有些什么內(nèi)容  回復(fù)  更多評(píng)論
      

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    <2009年10月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲国产天堂久久久久久| 成人免费一区二区无码视频| 亚洲高清最新av网站| 欧美亚洲国产SUV| 在线观看免费宅男视频| 亚洲欧美成aⅴ人在线观看| 四虎在线视频免费观看| 亚洲国产成人精品无码区花野真一 | 国产亚洲欧美在线观看| 日本一道本高清免费| 真人无码作爱免费视频| 亚洲av手机在线观看| 乱爱性全过程免费视频| 亚洲精品无码国产| 久章草在线精品视频免费观看| 内射少妇36P亚洲区| 成人免费激情视频| 亚洲人成色4444在线观看| 四虎永久免费观看| 又硬又粗又长又爽免费看 | 亚洲AV乱码久久精品蜜桃 | 国产92成人精品视频免费| 亚洲性无码AV中文字幕| 哒哒哒免费视频观看在线www| 黄 色一级 成 人网站免费| 久久精品国产精品亚洲蜜月| 99久久国产免费中文无字幕| 中文字幕精品三区无码亚洲| 亚洲?V乱码久久精品蜜桃 | h视频在线观看免费网站| 亚洲国产欧美日韩精品一区二区三区| 午夜亚洲福利在线老司机| 在线观看免费无码专区| 亚洲一区二区免费视频| 免费一级成人毛片| 青柠影视在线观看免费高清 | 久久久久国产精品免费看| 亚洲色在线无码国产精品不卡| 亚洲免费日韩无码系列| 蜜桃成人无码区免费视频网站| 久久亚洲精品成人无码|