JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
    
        File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".csv");
        
        JRCsvExporter exporter = new JRCsvExporter();
        
        exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
        exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
        
        exporter.exportReport();
        System.err.println("CSV creation time : " + (System.currentTimeMillis() - start));
      }
      else if (TASK_ODT.equals(taskName))
      {
        File sourceFile = new File(fileName);
    
        JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
    
        File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".odt");
        
        JROdtExporter exporter = new JROdtExporter();
        
        exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
        exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
        
        exporter.exportReport();
        System.err.println("ODT creation time : " + (System.currentTimeMillis() - start));
      }
      else if (TASK_ODS.equals(taskName))
      {
        File sourceFile = new File(fileName);
    
        JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
    
        File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".ods");
        
        JROdsExporter exporter = new JROdsExporter();
        
        exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
        exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
        
        exporter.exportReport();
        System.err.println("ODS creation time : " + (System.currentTimeMillis() - start));
      }
      else if (TASK_DOCX.equals(taskName))
      {
        File sourceFile = new File(fileName);
    
        JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
    
        File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".docx");
        
        JRDocxExporter exporter = new JRDocxExporter();
        
        exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
        exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
        
        exporter.exportReport();
        System.err.println("DOCX creation time : " + (System.currentTimeMillis() - start));
      }
      else if (TASK_XLSX.equals(taskName))
      {
        File sourceFile = new File(fileName);
    
        JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
    
        File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".xlsx");
        
        JRXlsxExporter exporter = new JRXlsxExporter();
        
        exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
        exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
        exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);
        
        exporter.exportReport();
        System.err.println("XLSX creation time : " + (System.currentTimeMillis() - start));
      }
      else if (TASK_PPTX.equals(taskName))
      {
        File sourceFile = new File(fileName);
    
        JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
    
        File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".pptx");
        
        JRPptxExporter exporter = new JRPptxExporter();
        
        exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
        exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
        
        exporter.exportReport();
        System.err.println("PPTX creation time : " + (System.currentTimeMillis() - start));
      }
      else if (TASK_XHTML.equals(taskName))
      {
        File sourceFile = new File(fileName);
    
        JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
    
        File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".x.html");
        
        JRXhtmlExporter exporter = new JRXhtmlExporter();
        
        exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
        exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
        
        exporter.exportReport();
        System.err.println("XHTML creation time : " + (System.currentTimeMillis() - start));
      }
      else if (TASK_XML4SWF.equals(taskName))
      {
        File sourceFile = new File(fileName);
    
        JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
    
        File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".xml4swf");
        
        JRXml4SwfExporter exporter = new JRXml4SwfExporter();
        
        exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
        exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
        
        exporter.exportReport();
        System.err.println("XML4SWF creation time : " + (System.currentTimeMillis() - start));
      }
      else if (TASK_VIEW_HTML.equals(taskName))
      {