1. 程式人生 > >iReport+JasperReport實現資料庫記錄匯出到pdf文件

iReport+JasperReport實現資料庫記錄匯出到pdf文件

本文主要介紹使用iReport以視覺化的方式來生成JasperReport所使用的報表格式檔案,並通過JasperReport提供的API將資料匯出到pdf格式的檔案中(當然還可以匯出其他如html、excel格式等檔案)。

在這裡iReport的使用版本為iReport-4.7.1。JasperReport使用的是4.7.1。由於匯出到pdf,JasperReport用到iText庫,所以這裡使用的iText-2.1.7版本。當然不要忘了iTextAsian.jar對中文的支援。

而maven倉庫中已經沒有iTextAsian.jar了,那我們自己下載一個,安裝到自己的maven中去就行。如下:命令列執行mvn install:install-file -DgroupId=com.lowagie -DartifactId=itextasian -Dversion=1.0 -Dpackaging=jar -Dfile=D:\JarTemp\iTextAsian.jar 就可以了。

下面開始利用ireport製作檔案模板了。

1.下載安裝iReport。

此處注意:如果你安裝的jdk版本為1.8,那麼ireport5.6.0以下的版本你是無法執行的,這時我們需要修改安裝目錄下etc目錄下的ireport.conf配置檔案,將jdkhome處前的#註釋符合去掉,然後jdkhome改為自己的jdk1.7安裝目錄,如:jdkhome="C:\Program Files\Java\jdk1.7.0_21"

2.開啟iReport,新建檔案:檔案—>new

選擇Blank A4,點選Open this Template,完成報表的建立.

3.連線資料庫


點選Report Datasources圖示,彈出下圖對話方塊。



點選new新建一個數據源。

選擇JDBC Connection ,設定配置,配置好之後test一下。

Test成功後,儲存配置。

4.報表連線資料庫查詢。

點選,設定報表查詢的語句,點選read fields會顯示錶欄位結構

這裡使用了引數sid的查詢條件,即iReport介面左邊parameters裡邊的sid。如下圖所示


點選ok,iReport介面左邊Fileds會出現資料庫表字段。如下圖所示



5。拖放欄位,設計報表格式。將表中欄位拖入到detail區域,增加列明和標題,如下圖所示。


6.預覽報表,選擇選單欄上的preview

預覽結果如下:


注意:如果查詢的結果為null,而你想要上面圖片的顯示為空白效果,就選中textfield中屬性,將blank when null選中即可。如下圖所示:


下面就用JasperReport API根據iReport生成的檔案將記錄匯出到各類檔案中。

1.點選,將編譯生成.jasper檔案。(改動之後的模板需要將編譯檔案先刪除)

2.將jasper檔案拷貝到web工程下

3編寫jsp檔案,跳轉到處理匯出檔案的 servlet或者action中。

4.編寫匯出處理類。

操作之前要先連線資料庫


因為我是用action處理,所以需要獲取request和response,如下:


下面匯出為pdf檔案:

try { //得到jasper檔案 File jasperFile=new File(servletContext.getRealPath("/jasper/Report.jasper")); JasperReport jasperReport= (JasperReport)JRLoader.loadObject(jasperFile.getPath()); JasperPrint jasperPrint=JasperFillManager.fillReport(jasperReport,null,conn); JRPdfExporter exporter = new JRPdfExporter();   exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, response.getOutputStream()); response.setHeader("Content-Disposition""attachment;filename=first.pdf"); response.setContentType("application/pdf"); response.setCharacterEncoding("UTF-8");   exporter.exportReport(); catch (Exception e) { e.printStackTrace(); } 到了這裡就已經完成功能的實現了。

相關推薦

iReport+JasperReport實現資料庫記錄匯出pdf

本文主要介紹使用iReport以視覺化的方式來生成JasperReport所使用的報表格式檔案,並通過JasperReport提供的API將資料匯出到pdf格式的檔案中(當然還可以匯出其他如html、excel格式等檔案)。 在這裡iReport的使用版本為iRepor

Java實現HTML程式碼生成PDF

1、IText實現html2pdf,速度快,糾錯能力差,支援中文(要求HTML使用unicode編碼),但中支援一種中文字型,開源。 2、Flying Sauser實現html2pdf,糾錯能力差,支援多種中文字型(部分樣式不能識別),開源。 3、PD4ML實現h

移動端利用pdf.js實現線上預覽pdf

專案中要求在移動端實現線上預覽pdf檔案,通過一番折騰,最後選擇用pdf.js實現。1、下載pdf.js    官網地址:https://mozilla.github.io/pdf.js/2、各種配置    下載下來的檔案包,就是一個demo,我們仿照這個demo做就可以啦 

如何實現PDF轉換CAD圖紙

在工作中使用到的圖紙大多數都是CAD形式的,但是如果收到的工程圖紙是pdf格式的,你是不是會覺得束手無措呢?是不是內心在想如何實現PDF文件轉換CAD圖紙呢?遇到這種問題不用擔心,因為只要進行格式的轉換就行了。可是又會有很多人問怎樣才能進行格式轉換呢?下面小編我就來給大家解決這個困惑。 在進行文件轉換的

php如何利用python實現pdf的操作(讀寫、合並分割)

PHP實現pdf文件截取 PHP調用python腳本 php如何利用python實現對pdf文件的操作 需求:在PHP裏實現了把8.pdf的前4頁pdf文件截取出來生成新的pdf文件。 詳細步驟如下: 1. 安裝python第三方庫PyPDF2 前提:python必須是3.x版本以上,必要時需要升級p

手機上怎麽實現PDF轉換成Excel表格

cto 文本格式 實現 文件 開發 除了 技術 doc 技術分享 PDF全稱是“Protable Document Format”,它是Adobe公司所開發的一種特殊的新型的 文本格式,這種文本格式除了方便閱讀、尺寸較小以外,還具有很強的防盜的功能, 因此我們如果要是對PD

javascript+java實現html轉化為PDF

parse itl 比例 數據 length java實現 ucc bytearray ngs   1. 項目中引入相關的jar包     itextasian-1.5.2.jar     itext-4.2.1.jar     itextpdf-5.1.2.jar    

使用Freemarker匯出Word(包含圖片)程式碼實現及總結

本篇是關於利用FreeMarker匯出Word的實現步驟。採用FreeMarker非常的靈活,能夠按照自己指定的樣式設定並輸出內容,操作簡單方便,程式碼實現也容易。 下面是實現的效果圖: 下面是實現步驟: 1.新增FreeMarker需要的jar包(這裡用的是2.3.28版本,從網上的maven倉庫

專案初始化時可以對所有介面進行資訊記錄(比如配合註解收集介面許可權資訊存入資料庫、生成介面、等等)

配合自定義註解和Swagger2註解進行許可權資源初始化。 import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashSet; impo

需求:實現資料庫密碼通過密的方式儲存在配置檔案中

需求:實現資料庫密碼通過密文的方式儲存在配置檔案中 配置檔案:evoucher.conf【可以是任意自定義格式結尾的配置檔案】格式 是以  Key:Value存在的。 例如如下: # evoucher.database 資料庫配置 ###################

java 實現html模板匯出pdf的方式

最近在工作中遇到了一個很囧的事情。要把HTML頁面轉換成PDF或者tiff圖片等其他形式,目前tiff還是一頭霧水,如果各位大師有真的可行的想法(不要是別人那邊抄的,百度最近搜尋的質量嚴重的打擊了我對國貨的信心。)希望能夠告訴我,先謝了。 言歸正傳。所以,我就做了把H

jasperReport實現頁面巢狀pdf預覽

net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfStream(InputStream arg0, OutputStream arg1) 能夠實現匯出pdf到輸出流,但是因為JasperExpo

pdf.js實現在HTML下直接瀏覽pdf,無需外掛即可實現

近期,有一個朋友做B端,伺服器存了大量的金融類資料,很多都是pdf文件,他現在的做法是,先將pdf文件轉換成flash,再放到瀏覽器上給使用者瀏覽,但是他告訴我,這種體驗太差了,而且很好資源,空間已經快不夠了,向我諮詢有沒有可以直接讀取pdf文件的,我之前也沒做過,於是,我簡單搜尋了一下,還真是有,下面給

mysql 資料庫、資料表匯入匯出

window、linux命令 通用 資料-庫-匯入:       1.C:\WINDOWS\system32>mysql -u root -p mydbname < d:\temp\mydbname.sql;  ----

使用數字簽名實現資料庫記錄防篡改(Java實現

package com.hzj.security; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.ObjectInputStream;

Qt實現生成PDF

Qt生成pdf方法網上也有很多,但是大多樹都是單獨生成文字的PDF或者單獨生成圖片的PDF,要把文字和圖片同時生成在一張PDF檔案上還真不那麼容易。 本文采用的兩種方法生成PDF,一種是使用html檔案的方法生成PDF檔案,另一種是採用QPainter繪製的方

通過潤乾API實現raq後臺匯出pdf

一、問題描述 客戶希望在JSP展現raq檔案的同時後臺將該raq匯出為pdf,儲存在相關路徑下。 二、解決思路 通過潤乾API實現該功能。 三、實現步驟 <%@pagecontentType="text/html;charset=gb2312"%>

匯出DataGridView為PDF

using System;using System.Data;using System.Configuration;using System.Windows.Forms;using iTextSharp;using iTextSharp.text;using iTextSha

java實現資料庫資料匯出到excel

excel表格的匯入匯出有兩種方法,一種是jxl和poi 我是用的是jxl,所以要先下個Jar包,可以去搜索下載一個。package com.wenliang.admin.web;import java.io.File;   import jxl.*;   import jx

vue外掛開發 使用pdf.js實現手機端線上預覽pdf

        目前大多數PC瀏覽器支援線上預覽pdf檔案,但大多數手機瀏覽器還未支援,嘗試用手機瀏覽器開啟一個pdf檔案會彈出是否下載的提示框。網上查了一些資料,在實現的過程中,還是走了比較多的彎路,最後採用了倍受推薦的pdf.js外掛來實現(文末附Demo)。