榪囩▼涓鍒扮殑涓浜涢棶棰樺強緗戜笂鎽樺綍鐨勮В鍐蟲柟娉曪紝甯屾湜澶у闃呰姝ゆ枃鍚庝細鏈夋墍鏀惰幏銆?/span>
1
錛?/span>
Jasperreport
鍙?/span>
ireport
綆浠嬶細
聽聽 JasperReport
鏄竴嬈炬姤琛ㄦ墦鍗扮粍浠訛紝鏄紑鏀炬簮浠g爜緇勭粐
sf.net
涓殑涓涓?/span>
java
鎶ヨ〃鎵撳嵃宸ョ▼錛?/span>
JasperReport
鐨勬渶鏂扮増鏈槸
0.5.2
鐗堬紝鏈鏂扮増鏈彲浠ヤ粠
http://jasperreports.sourceforge.net/index.html
涓嬭澆寰楀埌銆?/span>
聽聽聽 iReport
涔熸槸寮婧愮粍緇?/span>
sf.net
涓殑涓嬈懼厤璐硅蔣浠訛紝鍏朵富瑕佷綔鐢ㄦ槸鐢ㄦ潵浠ュ彲瑙嗗寲鐨勬柟寮忚璁$敓鎴?/span>
JasperReport
鎵浣跨敤鐨勬姤琛ㄦ牸寮忔枃浠訛紝鍥犱負
JasperReport
鏈韓騫舵湭鎻愪緵寰堝ソ鐨勫彲瑙嗗寲鎶ヨ〃璁捐宸ュ叿錛?/span>
iReport
鐨勫嚭鐜版濂藉譏琛ヤ簡榪欎釜緙洪櫡銆?/span>
iReport
鐨勬渶鏂扮増鏈槸
0.3.0
錛?/span>
iReport
鍙互浠?/span>
http://ireport.sourceforge.net
涓嬭澆寰楀埌銆?/span>
聽
2
錛?/span>
Jasperreport
鍙?/span>
ireport
鐨勫畨瑁呭強閰嶇疆錛?/span>
Jasperreport
涓嶇敤鍙﹀榪涜瀹夎錛屽彧闇瑕佷笅杞?/span>
JasperReport-x.x.x.jar
鏂囦歡灝卞彲浠ヤ簡銆?/span>
JasperReport
鐨勯厤緗瘮杈冪畝鍗曪紝鐩存帴灝?/span>
JasperReport-x.x.x.jar
鏂囦歡娣誨姞鍒版搷浣滅郴緇熺殑鐜鍙橀噺
ClASSPATH
涓嵆鍙畬鎴?/span>
JasperReport
鐨勯厤緗?/span>
iReport
鍦?/span>
Windows
騫沖彴涔熸槸浠?/span>
.zip
褰㈠紡鐨勬枃浠舵彁渚涚殑錛岀洿鎺ヨВ鍘嬬緝鍚庡氨綆楀畬鎴愪簡瀹夎銆傚彧鏈?/span>
2.x
鐗堢殑
iReport
闇瑕侀厤緗紝
3.0
鐗堢殑
iReport
鏃犻渶榪涜浠諱綍閰嶇疆錛岀洿鎺ュ惎鍔ㄦ椂
ireport.bat
鏂囦歡灝卞彲浠ヤ簡銆?/span>
聽
3
錛?/span>
iReport
涓枃鏄劇ず鐨勯棶棰橈細
聽聽 1
錛夈佸綋
iReport
涓彁紺烘杈撳叆涓枃涓嶈兘姝e父鏄劇ず鏃訛紝鐩存帴灝?/span>
iReport
涓?/span>
lib
涓殑
tinylaf.jar
榪欎釜鍖呭垹闄ゅ嵆鍙?/span>
銆
2
錛夈佸湪
iReport
涓繍琛屾姤琛ㄦ椂濡傛灉鍑虹幇涔辯爜闂鏃訛紝灝?/span>
itext-1.02b.jar
鍜?/span>
iTextAsian.jar
榪欎袱涓寘鍔犲埌
CLASSPATH
鍗沖彲銆傚嵆鍔犲叆鍒?/span>
C
錛?/span>
\iReport-0.3.0\lib
鐩綍涓嵆鍙?/span>
3
錛夈佸甫鏈変腑鏂囨樉紺虹殑鎶ヨ〃錛?/span>
浠繪剰鐢諱竴鏂囨湰妗嗭紝鍙屽嚮瀹冿紝鍦ㄥ嚭鐜扮殑瀵硅瘽妗嗕腑閫夋嫨
Static Text
欏癸紝淇敼
text
鍐呭涓烘眽
瀛楋紝濡備笅鎵紺猴細
鍚屾椂錛屼慨鏀?/span>
FONT
欏逛腑鐨勫唴瀹逛笌涓嬪浘鐩稿悓
鏀瑰姩鐨勫湴鏂規湁涓夐」錛屼竴鏄?/span>
font name,
浜屾槸
PDF font name
涓夋槸
PDF Encoding
鍐嶆棰勮鎶ヨ〃鍗沖彲鏄劇ず涓枃鎶ヨ〃銆?/span>
涓婇潰淇敼鐨勭浜屽拰絎笁欏瑰湪
JRViewer
涓槸鐪嬩笉鍑烘潵鏁堟灉鐨勶紝濡傛灉閫夋嫨鎶ヨ〃鐨勭敓鎴愮粨鏋滀負
PDF
鏍煎紡鍒欎細浣撶幇鍑烘潵銆?/span>
聽
4.
璁劇疆鏁版嵁搴撹繛鎺?/span>
聽聽
閫夋嫨鈥?/span>
data source
鈥濊彍鍗曚腑鐨勨?/span>
Connections/Datasources
鈥濓紝鍦ㄦ墦寮鐨勬暟鎹繛鎺ュ垪琛ㄧ獥鍙?/span>
涓偣鍑燴?/span>
new
鈥濅互渚挎柊澧炰竴涓暟鎹簮錛?/span>
JasperReport
鍙互浣跨敤澶氱鏁版嵁婧愶紝鍙互鏄?/span>
JDBC
鏁?/span>
鎹簱榪炴帴錛屼篃鍙互鏄粠
XML
鏂囦歡涓彇鏁版嵁絳夛紝浠ヤ笅鏄嬌鐢?/span>
ORACLE
涓殑
CH
鏁版嵁搴撳仛涓?/span>
鏁版嵁婧愮殑涓涓厤緗緥瀛愩?/span>
聽聽聽聽聽聽聽聽聽
涓婁緥涓槸浠?/span>
ORACLE
鍋氫負鏁版嵁搴撶殑涓涓緥瀛愶紝鎴戜滑榪橀渶瑕佹墜宸ュ鍒?/span>
ORACLE
鐨?/span>
JDBC
椹?/span>
鍔ㄦ枃浠跺埌
iReport
鐨?/span>
lib
鐩綍錛屽鍒?/span>
JDBC
椹卞姩浠ュ闇瑕侀噸鏂拌繍琛?/span>
iReport
鎵嶄細鐢熸晥銆傞厤緗ソ
鏁版嵁婧愪互鍚庯紝鐐瑰嚮鈥?/span>
Test
鈥濇寜閽紝濡傛灉閰嶇疆娌℃湁閿欒錛屽簲璇ヤ細鍑虹幇濡備笅鎵紺虹殑鍐呭錛?/span>
嫻嬭瘯鏁版嵁搴撹繛鎺ユ垚鍔熷悗錛岀偣鍑燴?/span>
Save
鈥濇寜閽繚瀛樿繖涓暟鎹簮浠ヤ究瀹屾垚鏁版嵁婧愮殑閰嶇疆銆?/span>
聽
5
錛?/span>
JasperReport
鍦ㄧ▼搴忎腑鐨勫簲鐢?/span>
聽聽
鍦ㄧ綉涓婃壘鍒?/span>
JasperReport
鍦ㄧ▼搴忎腑鐨勫簲鐢ㄧ殑渚嬪瓙錛岀幇鎽樺綍濡備笅錛?/span>
1.) Servlet:
import javax.servlet.*;
import javax.servlet.http.*;
import dori.jasper.engine.*;
import java.io.*;
import java.util.*;
import java.sql.*;
/**
* @author Administrator
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class TestReport extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Connection conn = null;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn =
DriverManager.getConnection(
"jdbc:microsoft:sqlserver://192.168.0.10:1433;DatabaseName=am;user=sa;password=sa");
ServletContext servletContext =this.getServletContext();
File reportFile = new File(servletContext.getRealPath("test/iteminfo.jasper"));
Map parameters = new HashMap();
Integer i=new Integer(8);
parameters.put("pjId", i);
byte[] bytes =
JasperRunManager.runReportToPdf(
reportFile.getPath(),
parameters,
conn);
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
} catch (JRException jre) {
System.out.println("JRException:" + jre.getMessage());
} catch (Exception e) {
System.out.println("Exception:" + e.getMessage());
}
}
public void doPost(
HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
2.) JSP:
<%@ page contentType="text/html;charset=GBK" %>
<%@ page import="dori.jasper.engine.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.sql.*" %>
<%
//鏁版嵁搴撹繛鎺?br />Connection conn=null;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.0.10:1433;DatabaseName=am;user=sa;password=
sa");
//鍙栧埌緙栬瘧鍚庣殑jasper鏂囦歡
File reportFile = new File(application.getRealPath("test/iteminfo.jasper"));
//鍚戞姤琛ㄤ腑瀹氫箟鐨勫弬鏁拌祴鍊?br />Map parameters = new HashMap();
Integer i=new Integer(8);
parameters.put("pjId", i);
byte[] bytes =
JasperRunManager.runReportToPdf(
reportFile.getPath(),
parameters,
conn
);
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
%>
聽
3.)
濡備綍灝?/span>
PDF
鏍煎紡鎶ヨ〃緇撴灉鐩存帴杈撳嚭鍒版墦鍗版満
聽
娉細榪欐浠g爜鍙兘搴旂敤鍦?/span>
JavaApplication
涓?/span>
public void print() throws UnsupportedFormatException
{
save("./tmp.pdf");
try
{
String osName = System.getProperty("os.name");
//FOR WINDOWS 95 AND 98 USE COMMAND.COM
if (osName.equals("Windows 95") || osName.equals("Windows 98"))
{
Runtime.getRuntime().exec("command.com /C start acrord32 /p " + "./tmp.pdf");
}
//FOR WINDOWS NT/XP/2000 USE CMD.EXE
else
{
Runtime.getRuntime().exec("cmd.exe /C Start acrord32 /p " + "./tmp.pdf");
}
}
catch (IOException IOE)
{
JOptionPane.showMessageDialog(null, IOE.getMessage(), "RuntimeException",
JOptionPane.ERROR_MESSAGE);
}
}
聽
6.
浠ヤ笂鏄湰浜哄湪瀛︿範
Jasperreport
鍙?/span>
ireport
涓涓哄簲璇ユ敞鎰忕殑鍙婂鏄撶鍒扮殑涓浜涢棶棰橈紝璁稿瑙e喅鏂規鏄洿鎺ヤ粠緗戜笂鎽樺綍鐨勶紝鍙﹀
Jasperreport
鍙?/span>
ireport
鐨勮蔣浠跺強涓浜涚浉鍏崇殑瀛︿範璧勬枡錛屾垜宸茬粡灝嗗叾
COPY
鍒板叕鍙哥殑
SERVER
鏈嶅姟鍣ㄦ殏瀛樼洏涓婃垜鐨勪釜浜虹洰褰曚笅鐨勭綉緇滄姤琛ㄨ璁″瓙鐩綍涓紝澶у瑕佹槸涓嶆兂鑷繁鍘諱笅杞斤紝鍙洿鎺ュ埌鏈嶅姟鍣ㄤ笂鍘?/span>
COPY
涓浠斤紝鍚屾椂涔熷笇鏈涘澶у鏈夋墍甯姪銆?/span>
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=645592

]]>