Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > Java Programming > Java Forum > *แก้ไข* Java เกี่ยวกับ jasper report ส่ง..Datasource จาก DB เข้าไป แต่ทำไมมันไม่สร้าง file pdf ให้ ฯ ช่วยหน่อยค่ะ



 

*แก้ไข* Java เกี่ยวกับ jasper report ส่ง..Datasource จาก DB เข้าไป แต่ทำไมมันไม่สร้าง file pdf ให้ ฯ ช่วยหน่อยค่ะ

 



Topic : 111074



โพสกระทู้ ( 61 )
บทความ ( 0 )



สถานะออฟไลน์




เกี่ยวกับ jasper report ส่ง..Datasource จาก DB เข้าไป ใช้ Eclipt+Hibernate ช่วยหน่อยค่ะ ตามนี้เลยค่ะ ฯ

Code (Java)
String filePath="C:\\Users\\peangter\\Documents\\workspace\\Querying\\report\\testReportQuery.jasper";

//jasperRealPath = servletContext.getRealPath(JASPER_REPORT_PATH + jasperName);
//JasperReport jasperReport = JasperCompileManager.compileReport(filePath);
Map para = new HashMap();
JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(userList);  // userList is ArrayList from database
JasperPrint jasperPrint = JasperFillManager.fillReport(filePath, para, dataSource);
JasperExportManager.exportReportToPdfFile(jasperPrint, "report/sampleReport.pdf");



ตรงนี้มันจะติดตรง..บรรทัดนี้...ฯ
Code (Java)
JasperPrint jasperPrint = JasperFillManager.fillReport(filePath, para, dataSource);



ถ้าเปลี่ยน...filePath เป็นไฟล์ที่ยังไม่ได้ complie ทีมีนามสกุล .jrxml เวลา run มันจะติดตรงบันทัด นี้ ที่ คอมเมนต์ไว้ด้านบนค่ะ ฯ
Code (Java)
JasperReport jasperReport = JasperCompileManager.compileReport(filePath);



จะว่า filePath ผิดก็ไม่ใช่ หรือชื่อไฟล์ ผิดก็ไม่ใช่ ?? หรือเพิ้่มเติมตรงไหน หรือท่านใดมี code ที่ใช้งานได้ ขอเป็นตัวอย่างก็ยังดี ฯ ช่วยหนอ่ยนะค่ะ ขอบคุณค่ะ ฯ



Tag : Java, iReport









ประวัติการแก้ไข
2014-09-04 13:43:38
2014-09-04 13:48:25
2014-09-04 13:50:10
2014-09-04 13:51:38
2014-09-04 13:53:12
2014-09-04 13:54:16
2014-09-04 13:56:22
2014-09-04 20:18:18
2014-09-04 21:00:39
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-09-04 11:30:22 By : linping View : 4731 Reply : 11
 

 

No. 1



โพสกระทู้ ( 61 )
บทความ ( 0 )



สถานะออฟไลน์


สงสัยคำถามจะยากมากเลย 555+






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-04 14:00:43 By : linping
 


 

No. 2



โพสกระทู้ ( 8 )
บทความ ( 0 )



สถานะออฟไลน์


อยากดู log อะครับ แบบนี้ผมก็ไม่รู้อะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-04 16:32:24 By : ortree01
 

 

No. 3



โพสกระทู้ ( 61 )
บทความ ( 0 )



สถานะออฟไลน์


ได้แล้วค่ะตอนนี้..แต่ปัญหาใหม่คือ มันไม่เห็นจะสร้างไฟล์ pdf ให้เลย นี่สิ...ฯ โค๊ตตามนี้เลยค่ะ เปลี่ยนไงก้..แล้ว ก็..ยังเหมือนเดิม ฯ ต้องทำไงค่ะ
ขอคุณค่ะ ฯฯ

Code (Java)
String filePath = "C:\\Users\\peangter\\Documents\\workspace\\Querying\\jasperreport\\testReportQuery.jrxml";
			//System.out.print(filePath);
Map para = new HashMap();
			//jasperRealPath = servletContext.getRealPath(JASPER_REPORT_PATH + jasperName);
JasperReport jasperReport = JasperCompileManager.compileReport(filePath);
			
JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(items);
JasperPrint jPrint = JasperFillManager.fillReport(filePath,param,dataSource);
			
			//JasperViewer.viewReport(jPrint);
JasperExportManager.exportReportToPdfFile(jPrint,"jasperreport/reportProduct.pdf");
.


หาที่ไหนก็ไม่เจอค่ะ อยากให้มันอยู่ที่เดียวกัน กับ ไฟล์.... C:\\Users\\peangter\\Documents\\workspace\\Querying\\jasperreport\\testReportQuery.jrxml
ตอน exportReportToPdfFile ใส่ path จิง นำหน้าแล้วก็ยังไม่เหนจะสร้างไ ฟล์ pdf ให้เลยค่ะ ฯ ขอบคุณค่ะ !!!


ประวัติการแก้ไข
2014-09-04 19:37:18
2014-09-04 19:38:57
2014-09-04 19:40:57
2014-09-04 19:43:05
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-04 19:36:20 By : linping
 


 

No. 4



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-05 09:33:00 By : mr.win
 


 

No. 5



โพสกระทู้ ( 8 )
บทความ ( 0 )



สถานะออฟไลน์


แบบนี้ขึ้นมาเลย
ลองเอาไปแปลงดูครับ



Code (Java)
 File reportFile = new File(application.getRealPath("report/mmreport.jasper"));
                byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath(), Jparam, new JREmptyDataSource());
                
                response.setContentType("application/pdf");
                response.setContentLength(bytes.length);
                
                ServletOutputStream outputStream = response.getOutputStream();
                outputStream.write(bytes, 0, bytes.length);
                outputStream.flush();
                outputStream.close();



ประวัติการแก้ไข
2014-09-05 13:56:12
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-05 13:55:26 By : ortree01
 


 

No. 6



โพสกระทู้ ( 61 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : ortree01 เมื่อวันที่ 2014-09-05 13:55:26
รายละเอียดของการตอบ ::
ขอบคุณค่ะ แต่...รู้ปัญหาละตอนนี้ ติดตรง บรรทัดนี้เลย มันไม่รู้จัก properties ของ list ที่เราใส่เข้าไป ฯ
Code (Java)
JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(itemsList);
JasperPrint jPrint = JasperFillManager.fillReport(filePath,param,dataSource);

งงเหมือนกัน...ได้แก้ไข...properties ให้เหมือนกันหมดแล้ว ก็เหมือนเดิม ฯ
log ที่ได้....ฯ มี..Product 2 ตัว แต่มันไม่สามารถ ส่งเข้าไปใน report ได้ ฯ
data
ยังไงดีละท่านทั้งหลาย 555+
Code
net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:123) at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getFieldValue(JRAbstractBeanDataSource.java:96) at net.sf.jasperreports.engine.data.JRBeanCollectionDataSource.getFieldValue(JRBeanCollectionDataSource.java:109 at net.sf.jasperreports.engine.fill.JRFillDataset.setOldValues(JRFillDataset.java:1358) at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1259) at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1235) at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1614) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:150) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:963) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:892) at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:114) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:584) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:930) at com.coconutoil.action.report.ReportAction.execute(Unknown Source) at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58) at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67) at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305) at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:91) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at com.coconutoil.filter.CharsetFilter.doFilter(Unknown Source) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:223) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:107) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:75) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:934) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:90) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:494) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:632) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1592) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1550) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: java.lang.NoSuchMethodException: Unknown property '' on class 'class com.coconutoil.model.Product' at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1313) at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:762) at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:837) at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:426) at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:111) ... 48 more




ประวัติการแก้ไข
2014-09-05 17:25:13
2014-09-05 17:36:58
2014-09-05 17:37:48
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-05 17:23:25 By : linping
 


 

No. 7



โพสกระทู้ ( 8 )
บทความ ( 0 )



สถานะออฟไลน์


1. ผมอยากให้ลอง check Class path ใน jasper design ครับ ว่าอ้างไปถึง method ที่ว่าไหม
2. แค่เนี่ยเละ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-06 20:21:27 By : ortree01
 


 

No. 8



โพสกระทู้ ( 61 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 7 เขียนโดย : ortree01 เมื่อวันที่ 2014-09-06 20:21:27
รายละเอียดของการตอบ ::
ยังไงเอ่ย ไม่เห็นมีเลยอ่ะ ฯฯ
มีแต่..ตรงนี้ค่ะ .......>>
classpath

หรอว่าต้องไป setตรงนี้เพิ่มอะไรรึเปล่า ? ไปอ่านเจอในเว็บ บอกว่าถ้าไม่ได้ set ที่ classpath ให้ไป setใน code ดังนี้ ฯ
Code (Java)
System.setProperty("jasper.reports.compile.class.path", "path_to_report.xxx.jar");

ที่ใส่ไปคือ ..
Code (Java)
System.setProperty("jasper.reports.compile.class.path", "C:\\Users\\peangter\\Documents\\workspace\\coconutoil\\web\\WEB-INF\\lib-report\\jasperreports-5.6.0.jar");

แต่ก็...ยังเหมือนเดิมไม่เห็นได้ค้าาา ฯ
ส่วนตรงนี้ Path ตรง Environment variable set แล้วนะ ปกติแล้ว
classpathB
classpathC


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

ใน Code
Code (Java)
List itemsList = session.createQuery("from Product p").list();

	String sourceFileName = "C:\\Users\\peangter\\Documents\\workspace\\coconutoil\\jasperreport\\reportProduct.jrxml";
			
	//System.setProperty("jasper.reports.compile.class.path", "C:\\Users\\peangter\\Documents\\workspace\\coconutoil\\web\\WEB-INF\\lib-report\\jasperreports-5.6.0.jar");

	JasperReport jasperReport = JasperCompileManager.compileReport(sourceFileName);
	JRBeanCollectionDataSource jrDatasouce = new JRBeanCollectionDataSource(itemsList);
			
			//System.out.println(jrDatasouce+"5555555555555555555555555555555555555555555555555555555");
			// System.out.println(JRDatasouce.getData()+"7777777777777777777777777777777");
			// System.out.println(JRDatasouce.getRecordCount());;

	Map<String, Object> parameters = new HashMap<String, Object>();
		try {
			JasperPrint jsPrint = JasperFillManager.fillReport(jasperReport, parameters, jrDatasouce);
                                   JasperExportManager.exportReportToPdfFile(jsPrint,"C:\\Users\\peangter\\Documents\\workspace\\coconutoil\\jasperreport\\reportProduct.pdf");
			} catch (JRException e) {
				e.printStackTrace();
			}


แต่ถ้าเรา...เอา List ที่ได้จาก DB ออก เหลือแต่ empty ดังภาพ
empty

ที่นี้เราจะได้ pdf แล้ว ฯฯฯ เปิดดูก็...ปกติ ฯ
ยกด


สรุป...มันไม่รู้จัก...ตามที่มันบอกจริงๆๆ ค่าที่ได้จาก List ที่ใส่ใน datasource แล้วส่งไป..fillReport ไม่ผ่านจุดนี้จริงๆๆ
แล้ว...จะทำยังไงให้มันรู้จัก ค่ะ ?? จนปัญญาละนะ 555+
log

ซึ้งมันจะบอกว่าไม่รู้จักเป็นไปได้ยังไง...ฯ ดังภาพ ไม่เข้าใจ หรอทำตรงไหนผิด ??
1 จาก Ireport
fil reprot
1.1 จาก..xml ใน ireport >> type อะไรก็..เหมือนกันหมดนะ ฯ
xxx
2 จาก class com.coconutoil.model.product
product

ยังไงค่ะ ยังไงค่ะ ? อิอิ


ประวัติการแก้ไข
2014-09-07 10:45:37
2014-09-07 10:48:54
2014-09-07 10:58:33
2014-09-07 11:08:52
2014-09-07 11:14:24
2014-09-07 11:15:52
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-07 10:42:46 By : linping
 


 

No. 9



โพสกระทู้ ( 61 )
บทความ ( 0 )



สถานะออฟไลน์


ได้แล้วค่ะตอนนี้....เปลี่ยนแปลงใน บรรทัดนี้
Code (Java)
JRBeanCollectionDataSource jrDatasouce = new JRBeanCollectionDataSource(itemsList, false);


แต่ปัญหาใหม่คือ...มันไม่แสดง title ทั้งๆที่ถ้า run ใน ireport หรือ ตอนใช้ JRViewer มันก็..แสดงปกติ

แต่ใน pdf ที่แปลงมาได้แบนี้ ฯฯ งง ป่ะ ปัญหาเยอะจิงๆค่ะ 555+ (ใครเจอปัญหานี้บ้างเ่อย ?)
ัััproblam


ประวัติการแก้ไข
2014-09-07 14:25:39
2014-09-07 14:27:24
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-07 14:24:30 By : linping
 


 

No. 10



โพสกระทู้ ( 8 )
บทความ ( 0 )



สถานะออฟไลน์


หา type ภาษานั้นไม่เจอครับ แนะนำให้ทำ lib font ยัดใส่ library project

ทำตาม blog นี้นะครับ
http://anuchit-prasertsang-ireport.blogspot.com/2013/10/ireport.html
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-08 10:58:55 By : ortree01
 


 

No. 11



โพสกระทู้ ( 61 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 10 เขียนโดย : ortree01 เมื่อวันที่ 2014-09-08 10:58:55
รายละเอียดของการตอบ ::
จร้า..thanks มากๆ ตอนนี้ได้แล้ว แต่..ติดปัญหาใหม่อีกล่ะ ฯฯ 5555+ เด่วโพสใหม่ดีกว่า ฯฯ เรืองใหม่ อิอิ



ประวัติการแก้ไข
2014-09-09 15:50:33
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-09 15:49:35 By : linping
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : *แก้ไข* Java เกี่ยวกับ jasper report ส่ง..Datasource จาก DB เข้าไป แต่ทำไมมันไม่สร้าง file pdf ให้ ฯ ช่วยหน่อยค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่