1 28 29 import java.util.ArrayList ; 30 import java.util.List ; 31 32 import net.sf.jasperreports.engine.JREmptyDataSource; 33 import net.sf.jasperreports.engine.JRException; 34 import net.sf.jasperreports.engine.JRExporterParameter; 35 import net.sf.jasperreports.engine.JasperFillManager; 36 import net.sf.jasperreports.engine.export.JExcelApiExporter; 37 import net.sf.jasperreports.engine.export.JRCsvExporter; 38 import net.sf.jasperreports.engine.export.JRHtmlExporter; 39 import net.sf.jasperreports.engine.export.JRPdfExporter; 40 import net.sf.jasperreports.engine.export.JRPdfExporterParameter; 41 import net.sf.jasperreports.engine.export.JRRtfExporter; 42 import net.sf.jasperreports.engine.export.JRXlsExporter; 43 import net.sf.jasperreports.engine.export.JRXlsExporterParameter; 44 import net.sf.jasperreports.engine.util.JRLoader; 45 46 47 51 public class BatchExportApp 52 { 53 54 55 58 private static final String TASK_FILL = "fill"; 59 private static final String TASK_PDF = "pdf"; 60 private static final String TASK_HTML = "html"; 61 private static final String TASK_RTF = "rtf"; 62 private static final String TASK_XLS = "xls"; 63 private static final String TASK_JXL = "jxl"; 64 private static final String TASK_CSV = "csv"; 65 66 67 70 public static void main(String [] args) 71 { 72 String fileName = null; 73 String taskName = null; 74 75 if(args.length == 0) 76 { 77 usage(); 78 return; 79 } 80 81 int k = 0; 82 while ( args.length > k ) 83 { 84 if ( args[k].startsWith("-T") ) 85 taskName = args[k].substring(2); 86 if ( args[k].startsWith("-F") ) 87 fileName = args[k].substring(2); 88 89 k++; 90 } 91 92 try 93 { 94 long start = System.currentTimeMillis(); 95 if (TASK_FILL.equals(taskName)) 96 { 97 JasperFillManager.fillReportToFile("Report1.jasper", null, new JREmptyDataSource(2)); 98 JasperFillManager.fillReportToFile("Report2.jasper", null, new JREmptyDataSource(2)); 99 JasperFillManager.fillReportToFile("Report3.jasper", null, new JREmptyDataSource(2)); 100 System.err.println("Filling time : " + (System.currentTimeMillis() - start)); 101 System.exit(0); 102 } 103 else if (TASK_PDF.equals(taskName)) 104 { 105 List jasperPrintList = new ArrayList (); 106 jasperPrintList.add(JRLoader.loadObject("Report1.jrprint")); 107 jasperPrintList.add(JRLoader.loadObject("Report2.jrprint")); 108 jasperPrintList.add(JRLoader.loadObject("Report3.jrprint")); 109 110 JRPdfExporter exporter = new JRPdfExporter(); 111 112 exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrintList); 113 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, fileName); 114 exporter.setParameter(JRPdfExporterParameter.IS_CREATING_BATCH_MODE_BOOKMARKS, Boolean.TRUE); 115 116 exporter.exportReport(); 117 118 System.err.println("PDF creation time : " + (System.currentTimeMillis() - start)); 119 System.exit(0); 120 } 121 else if (TASK_HTML.equals(taskName)) 122 { 123 List jasperPrintList = new ArrayList (); 124 jasperPrintList.add(JRLoader.loadObject("Report1.jrprint")); 125 jasperPrintList.add(JRLoader.loadObject("Report2.jrprint")); 126 jasperPrintList.add(JRLoader.loadObject("Report3.jrprint")); 127 128 JRHtmlExporter exporter = new JRHtmlExporter(); 129 130 exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrintList); 131 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, fileName); 132 133 exporter.exportReport(); 134 135 System.err.println("HTML creation time : " + (System.currentTimeMillis() - start)); 136 System.exit(0); 137 } 138 else if (TASK_RTF.equals(taskName)) 139 { 140 List jasperPrintList = new ArrayList (); 141 jasperPrintList.add(JRLoader.loadObject("Report1.jrprint")); 142 jasperPrintList.add(JRLoader.loadObject("Report2.jrprint")); 143 jasperPrintList.add(JRLoader.loadObject("Report3.jrprint")); 144 145 JRRtfExporter exporter = new JRRtfExporter(); 146 147 exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrintList); 148 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, fileName); 149 150 exporter.exportReport(); 151 152 System.err.println("RTF creation time : " + (System.currentTimeMillis() - start)); 153 System.exit(0); 154 } 155 else if (TASK_XLS.equals(taskName)) 156 { 157 List jasperPrintList = new ArrayList (); 158 jasperPrintList.add(JRLoader.loadObject("Report1.jrprint")); 159 jasperPrintList.add(JRLoader.loadObject("Report2.jrprint")); 160 jasperPrintList.add(JRLoader.loadObject("Report3.jrprint")); 161 162 JRXlsExporter exporter = new JRXlsExporter(); 163 164 exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrintList); 165 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, fileName); 166 exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE); 167 168 exporter.exportReport(); 169 170 System.err.println("XLS creation time : " + (System.currentTimeMillis() - start)); 171 System.exit(0); 172 } 173 else if (TASK_JXL.equals(taskName)) 174 { 175 List jasperPrintList = new ArrayList (); 176 jasperPrintList.add(JRLoader.loadObject("Report1.jrprint")); 177 jasperPrintList.add(JRLoader.loadObject("Report2.jrprint")); 178 jasperPrintList.add(JRLoader.loadObject("Report3.jrprint")); 179 180 JExcelApiExporter exporter = new JExcelApiExporter(); 181 182 exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrintList); 183 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, fileName); 184 exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE); 185 186 exporter.exportReport(); 187 188 System.err.println("XLS creation time : " + (System.currentTimeMillis() - start)); 189 System.exit(0); 190 } 191 else if (TASK_CSV.equals(taskName)) 192 { 193 List jasperPrintList = new ArrayList (); 194 jasperPrintList.add(JRLoader.loadObject("Report1.jrprint")); 195 jasperPrintList.add(JRLoader.loadObject("Report2.jrprint")); 196 jasperPrintList.add(JRLoader.loadObject("Report3.jrprint")); 197 198 JRCsvExporter exporter = new JRCsvExporter(); 199 200 exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrintList); 201 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, fileName); 202 203 exporter.exportReport(); 204 205 System.err.println("CSV creation time : " + (System.currentTimeMillis() - start)); 206 System.exit(0); 207 } 208 else 209 { 210 usage(); 211 System.exit(0); 212 } 213 } 214 catch (JRException e) 215 { 216 e.printStackTrace(); 217 System.exit(1); 218 } 219 catch (Exception e) 220 { 221 e.printStackTrace(); 222 System.exit(1); 223 } 224 } 225 226 227 230 private static void usage() 231 { 232 System.out.println( "BatchExportApp usage:" ); 233 System.out.println( "\tjava BatchExportApp -Ttask -Ffile" ); 234 System.out.println( "\tTasks : fill | pdf | html | rtf | xls | jxl | csv" ); 235 } 236 237 238 } 239 | Popular Tags |