水晶报表环境搭建.pptx
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
接下來做數據和JSP展示: A. 右擊EduStudentInfoRpt.rpt文件-> Crystal Reports-> Create Report Viewer JSP-> Insert Crystal Reports code snippets to…
在新生成的StudentInfoReport-viewer.jsp中修改如下代碼:
2.解壓jar包
解壓后,可以看到一個eclipse文件夾,將eclipse文件夾拷貝至STS工具包的 dropins下,D:\各種工具\springsource-tool-suite-2.9.1.RELEASE-e3.7.2win32\springsource\sts-2.9.1.RELEASE\dropins
而後為報表添加數據源:在報表Data視圖下將如藍色標記的地方拖到 Data的空白部分。
就會出現如右圖:
另外,將數據源加入到報表中,也可以通過右擊Data Source Explorer中的表 結構->Crystal Reports -> Add To New Report/Add To Existing Report的方式加入 到報表中,加入成功后可以在報表的Data視圖中看到
Insert Standard Crystal Reports … 新生成Consolidated Balance Sheet-viewer.jsp,運行效果如下:
創建自己的水晶報表
1、建立數據庫連接
Window ->Show View->Data Source Explorer
2、創建數據庫連接類DataBaseConnection.java
package pojo; public class EduStudentInfo { private String student_name; private String entry_date; ……………… public String getStudent_name() { return student_name; } public void setStudent_name(String student_name) { this.student_name = student_name; } public String getEntry_date() { return entry_date; } public void setEntry_date(String entry_date) { this.entry_date = entry_date; } ………… }
3、選擇Create Report Viewer JSP后彈出如下框, 左邊圖示 選擇Insert Standard Crystal Reports … 右邊圖示 選擇Insert Crystal Reports code snippets to… 將圖表與數據庫及實體 類關聯起來
4、 Consolidated Balance Sheet.rpt的運行效果
4、查詢出edu_student_info表中全部數據,返回List
public class StudentInfoDaoImpl implements StudentInfoDao { @Override //查詢全部 public ArrayList<EduStudentInfo> queryEduAll() throws Exception { // TODO Auto-generated method stub List<EduStudentInfo> all=new ArrayList<EduStudentInfo>(); String sql="select * from edu_student_info"; PreparedStatement pstmt=null; DataBaseConnection dbc=null; //下面是針對數據庫的具體操作 try{ //鏈接數據庫 dbc=new DataBaseConnection(); pstmt=dbc.getConnection().prepareStatement(sql); ResultSet rs=pstmt.executeQuery(); SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd"); while(rs.next()){ EduStudentInfo s =new EduStudentInfo(); s.setStudent_name(rs.getString("student_name")); s.setEntry_date(sdf.format(rs.getDate("entry_Date"))); System.out.println(s.getStudent_name()+s.getEntry_date()); all.add(s); } //進行數據庫更新操作 rs.close(); pstmt.close(); }catch(Exception e){ System.out.println(e); }finally{ //關閉數據庫 dbc.close(); } System.out.println(all.size()+"&&&&&&&&&&&&&&"); return (ArrayList)all; } }
1 2 3 4 5 6
10
11、12
同1
同3
報表設計部分:
表中標記部分
效果實現
點擊工具欄的Special Fields,選擇RecordNumber即可
7
8
9
①Window->show View ->Field Explorer->出現如左圖 ②選擇student_name字段拖拽至8處即可
①Window->show View ->Field Explorer->出現如左圖 ②選擇student_name字段拖拽至8處即可
public void close(){ try{ this.conn.close(); }catch(Exception e){ System.out.println(e); } } }
3、建立JAVA取數和數據連接
建立和數據庫表一樣名字的POJO,字段名必須相同 (這裡引入了 兩個字段) EduStudentInfo.java
// Populate POJO data source String className = "pojo.EduStudentInfo"; // Look up existing table in the report to set the datasource for and obtain its alias. This table must // have the same schema as the Resultset that is being pushed in at runtime. The table could be created // from a Field Definition File, a Command Object, or regular database table. As long the Resultset // schema hasBaidu Nhomakorabeathe same field names and types, then the Resultset can be used as the datasource for the table. String tableAlias = “edu_student_info";
3.重啟 STS
空白處右擊New->Other,可以看到如下圖,可以新建Crystal Reports項目,說明 水晶報表已成功引入
STS新創建的Crystal ReportWeb項目, 以下水晶報表自動引入的文件:
Tips: 已創建的Web 項目可以右擊 項目名稱->Properties ->Project Facets-> 勾選Crystal Reports-> 加載Crystal Reports 相關組件
簡單的水晶報表的運行過程
以項目Sample Reports下水晶報表簡單介紹下其運行過程:
1、例子 Consolidated Balance Sheet.rpt原始文件查看:
2、選中WebContent->Sample Reports下的rpt文件->Crystal Reports-> Create Report Viewer JSP
水晶報表環境搭建
簡單的水晶報表的運行過程
創建自己的水晶報表
水晶報表環境搭建
1.下載jar包(http://scn.sap.com/docs/DOC-29757) )
已下載放於 個人空間下
網上其他安裝方式:
網上其他安裝方式:STS->Help->Install new Software
未安裝成功,報以下錯誤:
public class DataBaseConnection { //private final String dbDriver="oracle.jdbc.driver.OracleDriver"; //private final String dbUrl="jdbc:oracle:thin:@localhost:1521:zqq"; //private final String dbUser="scott"; //private final String dbPassword="Foxconn88"; private final String dbDriver="oracle.jdbc.driver.OracleDriver"; private final String dbUrl="jdbc:oracle:thin:@10.195.211.68:1521:orcl"; private final String dbUser="eduadmin"; private final String dbPassword="eduadmin"; private Connection conn=null; public DataBaseConnection(){ try{ Class.forName(dbDriver); this.conn=DriverManager.getConnection(dbUrl,dbUser,dbPassword); }catch(Exception e){ System.out.println(e); } } public Connection getConnection(){ return this.conn; }
效果圖:
報表設計部分:
表中標記部分
效果實現
點擊工具欄的Text,在ReportHeader處點擊加載Text,輸入 Crystal Report-Start 點擊工具欄的Text,在ReportHeader處點擊加載Text,輸入 From Foxconn Zqq—Crystal Report Date: 點擊工具欄的Special Fields,分別選擇Date Date和DateTime 點擊工具欄的Special Fields,選擇PageNumber即可 點擊工具欄的Text,在ReportHeader處點擊加載Text,輸入/ 點擊工具欄的Special Fields,選擇TotalPageCount即可
補充: ①選擇框,右擊properties,可以看到其屬性,并修改,如下圖
補充: ②查看Speial Fields和數據庫字段的屬性時,可以屬性的General模 塊中看到其值,并修改
當報表設計完成后,我們還可以在報表的Preview視圖中預先瀏 覽報表的效果,以便進一步改善報表
6、通過報表生成JSP
5、創建報表:
空白處右擊->New->Crystal Reports->Blank Report及可創建報表
這樣就創建了一個空白報表EduStudentInfoReport.rpt
點擊報表的LayOut視圖,可以看到報表分為如下5個部分: Report Header:該報表頭部 Page Header:該報表每一頁的頭部 Body:該報表每一頁的內容設計 Report Footer:該報表尾部 Page Footer:該報表每一頁的尾部 Specialty Fields:報表需要使用的函數如日期、頁數等