KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > BatchExportApp


1 /*
2  * ============================================================================
3  * GNU Lesser General Public License
4  * ============================================================================
5  *
6  * JasperReports - Free Java report-generating library.
7  * Copyright (C) 2001-2006 JasperSoft Corporation http://www.jaspersoft.com
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public
11  * License as published by the Free Software Foundation; either
12  * version 2.1 of the License, or (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
22  *
23  * JasperSoft Corporation
24  * 303 Second Street, Suite 450 North
25  * San Francisco, CA 94107
26  * http://www.jaspersoft.com
27  */

28
29 import java.util.ArrayList JavaDoc;
30 import java.util.List JavaDoc;
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 /**
48  * @author Teodor Danciu (teodord@users.sourceforge.net)
49  * @version $Id: BatchExportApp.java 1229 2006-04-19 13:27:35 +0300 (Wed, 19 Apr 2006) teodord $
50  */

51 public class BatchExportApp
52 {
53
54
55     /**
56      *
57      */

58     private static final String JavaDoc TASK_FILL = "fill";
59     private static final String JavaDoc TASK_PDF = "pdf";
60     private static final String JavaDoc TASK_HTML = "html";
61     private static final String JavaDoc TASK_RTF = "rtf";
62     private static final String JavaDoc TASK_XLS = "xls";
63     private static final String JavaDoc TASK_JXL = "jxl";
64     private static final String JavaDoc TASK_CSV = "csv";
65     
66     
67     /**
68      *
69      */

70     public static void main(String JavaDoc[] args)
71     {
72         String JavaDoc fileName = null;
73         String JavaDoc 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 JavaDoc jasperPrintList = new ArrayList JavaDoc();
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 JavaDoc jasperPrintList = new ArrayList JavaDoc();
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 JavaDoc jasperPrintList = new ArrayList JavaDoc();
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 JavaDoc jasperPrintList = new ArrayList JavaDoc();
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 JavaDoc jasperPrintList = new ArrayList JavaDoc();
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 JavaDoc jasperPrintList = new ArrayList JavaDoc();
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 JavaDoc e)
220         {
221             e.printStackTrace();
222             System.exit(1);
223         }
224     }
225
226
227     /**
228      *
229      */

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