File file=new File(application.getRealPath("/Report/RTAReport.jrxml"));
JasperDesign jasperDesign=JRXmlLoader.load(file);
JRDesignStaticText text=(JRDesignStaticText)(((JRDesignBand)jasperDesign.getTitle()).getElementByKey("staticText"));
text.setHorizontalAlignment(JRAlignment.HORIZONTAL_ALIGN_LEFT);
text.setText(title);
jasperDesign.setTitle(text);//jasperDesign可以用来动态建立报表的元素(包括列)
jasperDesign.addField(fieldName);
jasperDesign.removeField(fieldName);
jasperDesign.setColumnWidth();
jasperDesign.setColSpacing();
jasperDesign.setColumnCount(columnCount);
jasperDesign.setColumnHeader(JRBand columnHeader);
jasperDesign.setLeftMargin(0);
jasperDesign.setTopMargin(0);
jasperDesign.setRightMargin(0);
jasperDesign.setBottomMargin(0);
System.out.print("--jasperDesign---");
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
System.out.print("--jasperReport---");
Map parameters = new HashMap();
parameters.put("Reporttitle", "Address Report");
parameters.put("BaseDir", reportFile.getParentFile());
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=HNDB_DATA";
Connection connect=DriverManager.getConnection(URL,"sa","");
JasperPrint jasperPrint =JasperFillManager.fillReport(jasperReport,parameters,connect);
System.out.print("--jasperPrint---");
connect.close();
JRHtmlExporter exporter = new JRHtmlExporter();
Map imagesMap = new HashMap();
session.setAttribute("IMAGES_MAP", imagesMap);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);
exporter.setParameter(JRHtmlExporterParameter.IMAGES_MAP, imagesMap);
exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "image.jsp?image=");
exporter.setParameter(JRHtmlExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,Boolean.TRUE);
System.out.print("report out");
exporter.exportReport();
connect.close();