jasperreport可以用Collection做为数据源
来源:互联网 发布:域批量安装软件 编辑:程序博客网 时间:2024/06/10 23:36
<%@ page contentType="text/html;charset=GBK" %>
<%@ page import="dori.jasper.engine.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="com.zx.report.util.CarUse"%>
<%@ page import="dori.jasper.engine.data.*" %>
<%
Connection conn = null;
Statement st = null;
ResultSet rs = null;
byte[] bytes = null;
List carUseList=new ArrayList();
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn =DriverManager.getConnection("jdbc:microsoft:sqlserver://10.10.10.207:1433;DatabaseName=report;user=sa;password=111111");
//以输入流方式
InputStream reportFile = getClass().getClassLoader().getResourceAsStream("carUserBd.jasper");
//以reportFile方式
//File reportFile =new File(request.getRealPath("/report/carUserBd.jasper"));
Map parameters = new HashMap();
String sqlCarUser="SELECT car.carNo, dept.Name , people.peopleName,carUse.useDescription ," +
" carUse.beginTime , carUse.planEndTime , carUse.comment , carUse.driver," +
" carUse.peopleNumber ,OneWay= case carUse.isOneWay when 0 then '双程' else '单程' end, " +
"isFirst= case carUse.priority when 0 then '低' when 1 then '中' else '高' end, carUse.start , " +
"carUse.destination , people.peopleName as ratifier FROM DEPT_CARUSELOG carUse , DEPT_CARINFO car , " +
"ADMIN_ORGANIZATION dept , PUBLIC_PEOPLEINFO people WHERE carUse.id=290 and " +
"caruse.carId=car.carId and carUse.departId=dept.id and carUse.peopleId=people.peopleId";
st = conn.createStatement();
rs = st.executeQuery(sqlCarUser);
while(rs.next()){
CarUse carUse=new CarUse();
carUse.setCarNo(rs.getString(1));
carUse.setName(rs.getString(2));
carUse.setPeopleName(rs.getString(3));
carUse.setUseDescription(rs.getString(4));
carUse.setBeginTime(rs.getDate(5));
carUse.setPlanEndTime(rs.getDate(6));
carUse.setComment(rs.getString(7));
carUse.setDriver(rs.getString(8));
carUse.setPeopleNumber(rs.getString(9));
carUse.setOneWay(rs.getString(10));
carUse.setIsFirst(rs.getString(11));
carUse.setStart(rs.getString(12));
carUse.setDestination(rs.getString(13));
carUse.setRatifier(rs.getString(14));
carUseList.add(carUse);
}
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(carUseList);
bytes =
JasperRunManager.runReportToPdf(
reportFile,
parameters,
ds);
String fileName = "test.pdf";
response.setContentType("application/pdf");
response.addHeader(
"Content-Disposition",
"attachment;filename=/"" + fileName);
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
System.out.println("5");
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
} catch (SQLException sqle) {
System.out.println("SQLException:" + sqle.getMessage());
} catch (JRException e) {
e.printStackTrace();
}catch(ClassNotFoundException cnfe){
}
%>
jasperreport可以用Collection做为数据源,这种方式比用Connection方式更为灵活方便
<%@ page import="dori.jasper.engine.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="com.zx.report.util.CarUse"%>
<%@ page import="dori.jasper.engine.data.*" %>
<%
Connection conn = null;
Statement st = null;
ResultSet rs = null;
byte[] bytes = null;
List carUseList=new ArrayList();
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn =DriverManager.getConnection("jdbc:microsoft:sqlserver://10.10.10.207:1433;DatabaseName=report;user=sa;password=111111");
//以输入流方式
InputStream reportFile = getClass().getClassLoader().getResourceAsStream("carUserBd.jasper");
//以reportFile方式
//File reportFile =new File(request.getRealPath("/report/carUserBd.jasper"));
Map parameters = new HashMap();
String sqlCarUser="SELECT car.carNo, dept.Name , people.peopleName,carUse.useDescription ," +
" carUse.beginTime , carUse.planEndTime , carUse.comment , carUse.driver," +
" carUse.peopleNumber ,OneWay= case carUse.isOneWay when 0 then '双程' else '单程' end, " +
"isFirst= case carUse.priority when 0 then '低' when 1 then '中' else '高' end, carUse.start , " +
"carUse.destination , people.peopleName as ratifier FROM DEPT_CARUSELOG carUse , DEPT_CARINFO car , " +
"ADMIN_ORGANIZATION dept , PUBLIC_PEOPLEINFO people WHERE carUse.id=290 and " +
"caruse.carId=car.carId and carUse.departId=dept.id and carUse.peopleId=people.peopleId";
st = conn.createStatement();
rs = st.executeQuery(sqlCarUser);
while(rs.next()){
CarUse carUse=new CarUse();
carUse.setCarNo(rs.getString(1));
carUse.setName(rs.getString(2));
carUse.setPeopleName(rs.getString(3));
carUse.setUseDescription(rs.getString(4));
carUse.setBeginTime(rs.getDate(5));
carUse.setPlanEndTime(rs.getDate(6));
carUse.setComment(rs.getString(7));
carUse.setDriver(rs.getString(8));
carUse.setPeopleNumber(rs.getString(9));
carUse.setOneWay(rs.getString(10));
carUse.setIsFirst(rs.getString(11));
carUse.setStart(rs.getString(12));
carUse.setDestination(rs.getString(13));
carUse.setRatifier(rs.getString(14));
carUseList.add(carUse);
}
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(carUseList);
bytes =
JasperRunManager.runReportToPdf(
reportFile,
parameters,
ds);
String fileName = "test.pdf";
response.setContentType("application/pdf");
response.addHeader(
"Content-Disposition",
"attachment;filename=/"" + fileName);
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
System.out.println("5");
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
} catch (SQLException sqle) {
System.out.println("SQLException:" + sqle.getMessage());
} catch (JRException e) {
e.printStackTrace();
}catch(ClassNotFoundException cnfe){
}
%>
jasperreport可以用Collection做为数据源,这种方式比用Connection方式更为灵活方便
- jasperreport可以用Collection做为数据源
- jasperreport中可以使用List作为数据源
- COMBOBOX绑定DICTIONARY做为数据源
- COMBOBOX绑定DICTIONARY做为数据源
- bean作为jasperReport 的数据源
- XtraGrid 做为数据源的持久类利用外键,可以设外键来显示外键关联的所有字段
- 可以做为程序员的优点。
- asp.net2.0 treeview控件用数据表做为数据源实现n级动态菜单
- asp.net2.0 treeview控件用数据表做为数据源实现n级动态菜单
- asp.net2.0 treeview控件用数据表做为数据源实现n级动态菜单
- flex4 用arraycollection 做为combobox的数据源 显示为[object object]
- 新建临时表做为数据源绑定
- 动态生成JS做为数据源提高性能
- Poi 使用其他页做为下拉数据源
- JasperReport(2)——IReport使用数据源
- 开发者使用JasperReport——不同数据源之Map数据源
- 开发者使用JasperReport——不同数据源之表格数据源
- 开发者使用JasperReport——不同数据源之自定义数据源
- JAVASCRIPT-->精品代码集(一)
- Eclipse 3.o Mirrors
- 第一次用BLOG!高兴>>>
- 整理的JasperReport资料(转载)
- 通过JDBC操纵Oracle数据库LOB字段的几种情况分析(转)
- jasperreport可以用Collection做为数据源
- Pocket PC 电视遥控器
- JAVASCRIPT-->精品代码集(二)
- 刘德华陈年温馨情侣照(多图)
- 历届图灵奖获得者(1966-2003)
- redhat linux 9.0 VSFTP配置大全
- Choosing the Right Presentation Layer Architecture
- NGN专题
- UNIX中 find命令的使用