margin = JRBaseReport.class.getDeclaredField(\ margin.setAccessible(true); margin.setInt(report, 0);
margin = JRBaseReport.class.getDeclaredField(\ margin.setAccessible(true); margin.setInt(report, 0);
margin = JRBaseReport.class.getDeclaredField(\ margin.setAccessible(true); margin.setInt(report, 0); //去掉Excel中隐藏的行,技巧
java.lang.reflect.Field pageHeight = JRBaseReport.class.getDeclaredField(\
pageHeight.setAccessible(true);
pageHeight.setInt(report, Integer.MAX_VALUE);
//Don't print group header on each page if (null != report.getGroups()) {
for (int i = 0; i < report.getGroups().length; i++) {
report.getGroups()[i].setReprintHeaderOnEachPage(false); } }
} catch(Exception e) { e.printStackTrace(); }
JasperPrint print=JasperFillManager.fillReport(report,map,conn);//填充数据
// JasperPrint print=JasperFillManager.fillReport(report,map,new TestBeanDataSource());//填充数据
JRAbstractExporter exporter=new JExcelApiExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT,print); exporter.setParameter(JRExporterParameter.OUTPUT_STREAM,response.getOutputStream());
exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,
Boolean.TRUE);//删除空白行
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,Boolean.FALSE);//是否是每一页产生一个工作表
exporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE);//是否为空白背景
exporter.exportReport();
response.getOutputStream().flush(); response.getOutputStream().close(); } catch (JRException e) {
StringWriter sw=new StringWriter(); PrintWriter pw=new PrintWriter(sw); e.printStackTrace(pw);
response.setContentType(\
response.getOutputStream().print(sw.toString()); } finally { if(conn!=null) try {
if(!conn.isClosed()) conn.close(); } catch (SQLException e) { e.printStackTrace();
} } }
privatevoid doXml(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { ServletContext context=getServletContext();
//String jrxml=context.getRealPath(\ String reportDir=context.getRealPath(\ String jasper=reportDir+\
response.setContentType(\ Map map=new HashMap(); map.put(\
map.put(\ map.put(\ Connection conn=getConn(); try {
JasperPrint print=JasperFillManager.fillReport(jasper,map,conn); OutputStream os=response.getOutputStream();
JasperExportManager.exportReportToXmlStream(print,os); os.flush(); os.close();
} catch (JRException e) {
StringWriter sw=new StringWriter(); PrintWriter pw=new PrintWriter(sw); e.printStackTrace(pw);
response.setContentType(\
response.getOutputStream().print(sw.toString());
} finally { if(conn!=null) try {
if(!conn.isClosed()) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } }
privatestatic Connection getConn() { try {
Class.forName(OracleDriver.class.getName());
return DriverManager.getConnection(\x.xxx:1521:orc92\
} catch (Exception e) { e.printStackTrace(); }
returnnull; } /**
*Initializationoftheservlet.
*
*@throwsServletExceptionifanerroroccure */
publicvoid init() throws ServletException { // Put your code here }
} 参考资料 1. 用户指南Ireport 2. Jasperreports api