jasperReportStudiojava报表设计(详细)⼀、环境搭建 在l加⼊
<!-- jasperReports-->
<import resource="classpath*:l"/>
配置代码:
<beans xmlns="/schema/beans" xmlns:xsi="/2001/XMLSchema-instance"
xmlns:p="/schema/p"
xmlns:context="/schema/context" xmlns:mvc="/schema/mvc"
xsi:schemaLocation="
/schema/beans /schema/beans/spring-
beans-4.2.xsd
/schema/context /schema/context/spring-context-4.2.xsd
/schema/mvc /schema/mvc/spring-mvc-4.2.xsd">
<!-- jasperReports报表集成视图解析器 --> <bean id="jasperReportsViewResolver"
class="org.springframework.web.servlet.view.jasperreports.JasperReportsViewResolver">
喜剧世界
<!-- 执⾏优先级,值越⼩优先级越⾼ -->
湖南城市学院图书馆<property name="order" value="0"/>
<!-- 处理视图返回 -->cd101
<property name="viewClass" value="com.port.jasperreports.JasperReportsView"/
>山居笔记pdf
<property name="prefix" value="/WEB-INF/jasper/"/>
<property name="suffix" value=".jasper"/>
<!-- 可通过配置此项⽤来过滤是否执⾏此视图解析器 -->
<!-- <property name="viewNames" value="rpt*"/> -->
<!-- 报表数据源 -->
<property name="jdbcDataSource" ref="dataSource"/>
<!-- 扩展参数 -->
<property name="exporterParameters">
<map>
<!-- 指定格式报表的内容编码 -->
<entry key="net.ine.JRExporterParameter.CHARACTER_ENCODING">
<value>UTF-8</value>
</entry>
<!-- 通过Web访问时图⽚的URI -->
<!-- <entry key="net.port.JRHtmlExporterParameter.IMAGES_URI">
<value type="java.lang.String">/jasper/image.jsp?image=</value>
</entry> -->
<!-- 图⽚⽬录的绝对路径 -->
<!-- <entry key="net.port.JRHtmlExporterParameter.IMAGES_DIR_NAME">
<value type="java.lang.String">D:\\work\\***\\framework\\tmp</value>
</entry> -->
<!-- 是否输出图⽚到⽬录 -->
<!-- <entry key="net.port.JRHtmlExporterParameter.IS_OUTPUT_IMAGES_TO_DIR">
<value type="java.lang.String">true</value>
</entry> -->
</map>
</property>
</bean>
</beans>
jar包需要:
<!-- jasperreports -->
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
</dependency>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports-fonts</artifactId>
</dependency>
⼆、jasperreports报表设计步骤
1.新建项⽬配置jar包
若jar包unbond未到~检查是否⽬录路径是纯英⽂的~中⽂不识别
2.新建报表模版~⼀般中国的报表直接⽤空⽩A4去做
3.若要⽤测试数据展现表格配置
然后根据需要查询字段表~加⼊测试数据⼀般也不使⽤
4.页⾯设计
5.配置
样式
编译
开发代码:
public ModelAndView apply(ModelAndView modelAndView,@PathVariable("id") Long id) {
注释部分为⼆维码⽣成
/*List<Order> list = wArrayList();
Order order;
for (int i = 0; i < 100; i++) {
order = new Order(i, "供应商" + i, "厦门市" + i + "号楼", i % 2 == 0 ? "厦门" : "周⼝", new Timestamp(System.currentTimeMillis()));
list.add(order);
}
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
InputStream file = new ByteArray());
Map<String, Object> m = new HashMap<String, Object>();
m.put("QRCodeString", "PE12873619284611231213");
m.put("QRCode", file);
m.put("image", "E:\\ideaWorkSpace\\pipegallery\\pipegallery-operation\\src\\main\\webapp\\WEB-INF\\jasper\\silhouette.jpg");
Pdf("Silhouette4", m, list);*/
List<ApplyDetails> applyDetailsList = wArrayList();
Map<String, Object> m = new HashMap<String, Object>();
List<Map> list =AllByDynamicWhere(id);
人机对弈
MaterialsIeApply (id);
m.put("APPLICANT",Applicant());//申请⼈
m.put("ORDERNO",Orderno());
m.put("IEAPPLYTYPE","0".IeApplyType())?"租⽤":"使⽤");
m.put("PLANGETDATE",PlanGetDate());//领⽤时间
m.put("PLANRETURNDATE",PlanReturnDate());//归还时间
绝缘子串m.put("AUDIT",AuditId());//审核⼈
m.put("AUDITDATE",ApplyDate());//审核时间
//(0未提交、1待审核、2已审核、3未通过、4打回、5部分出库、6全部出库、7作废) m.put("APPROVALSTATE", ApprovalState()));//申请单状态
m.put("APPLYDATE",ApplyDate());//申请提交时间
m.put("REASON",Reason());
m.put("REMARK",Remark());
m.put("AUDITOPINION",AuditOpinion());//审核意见
ApplyDetails applyDetails;
for (Map map:list){
applyDetails=new ("materialsname").toString(),("suppliername").toString(),Integer.("amount").toString()),("remark").toString(),("spec").toString(),"1"); applyDetailsList.add(applyDetails);
}
Pdf("MaterialsIeApply", m, applyDetailsList);
}