From f5b86e52b65e5cb5fee70bfa2807a049c657425e Mon Sep 17 00:00:00 2001 From: sughosh88 Date: Thu, 16 Jul 2015 10:34:17 -0700 Subject: [PATCH 1/2] Export pentaho report to Excel 2007 format (.xlsx) --- mifosng-provider/gradlew | 4 ++-- .../dataqueries/service/ReadReportingServiceImpl.java | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/mifosng-provider/gradlew b/mifosng-provider/gradlew index dabadcd00..210ae59d1 100755 --- a/mifosng-provider/gradlew +++ b/mifosng-provider/gradlew @@ -9,8 +9,8 @@ # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8005,server=y,suspend=n" -CATALINA_OPTS="-Xms512m -Xmx512m" -JAVA_OPTS="-Xms512m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=512m" +CATALINA_OPTS="-Xms512m -Xmx2048m" +JAVA_OPTS="-Xms512m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m" APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/service/ReadReportingServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/service/ReadReportingServiceImpl.java index 4e335d7f7..de3f4a81d 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/service/ReadReportingServiceImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/service/ReadReportingServiceImpl.java @@ -248,7 +248,7 @@ public class ReadReportingServiceImpl implements ReadReportingService { outputType = outputTypeParam; } - if (!(outputType.equalsIgnoreCase("HTML") || outputType.equalsIgnoreCase("PDF") || outputType.equalsIgnoreCase("XLS") || outputType + if (!(outputType.equalsIgnoreCase("HTML") || outputType.equalsIgnoreCase("PDF") || outputType.equalsIgnoreCase("XLS") || outputType.equalsIgnoreCase("XLSX") || outputType .equalsIgnoreCase("CSV"))) { throw new PlatformDataIntegrityException("error.msg.invalid.outputType", "No matching Output Type: " + outputType); } @@ -279,13 +279,19 @@ public class ReadReportingServiceImpl implements ReadReportingService { PdfReportUtil.createPDF(masterReport, baos); return Response.ok().entity(baos.toByteArray()).type("application/pdf").build(); } - + if ("XLS".equalsIgnoreCase(outputType)) { ExcelReportUtil.createXLS(masterReport, baos); return Response.ok().entity(baos.toByteArray()).type("application/vnd.ms-excel") .header("Content-Disposition", "attachment;filename=" + reportName.replaceAll(" ", "") + ".xls").build(); } + if ("XLSX".equalsIgnoreCase(outputType)) { + ExcelReportUtil.createXLSX(masterReport, baos); + return Response.ok().entity(baos.toByteArray()).type("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") + .header("Content-Disposition", "attachment;filename=" + reportName.replaceAll(" ", "") + ".xlsx").build(); + } + if ("CSV".equalsIgnoreCase(outputType)) { CSVReportUtil.createCSV(masterReport, baos, "UTF-8"); return Response.ok().entity(baos.toByteArray()).type("text/csv") From 45688cf408cc8f6d34786420d9fe19b479c8dc19 Mon Sep 17 00:00:00 2001 From: sughosh88 Date: Thu, 16 Jul 2015 10:41:34 -0700 Subject: [PATCH 2/2] Minor Reporting Fix For issues 2012,2013 & 2015 --- .../pentahoReports/Balance Outstanding.prpt | Bin 9239 -> 9255 bytes .../pentahoReports/Collection Report.prpt | Bin 9768 -> 9769 bytes .../main/pentahoReports/Disbursal Report.prpt | Bin 9271 -> 9282 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/mifosng-provider/src/main/pentahoReports/Balance Outstanding.prpt b/mifosng-provider/src/main/pentahoReports/Balance Outstanding.prpt index d343b1499151675b62493a5fb9990bf92a0749fc..1a86af891a81f504cd8e7519c2faa4bace3aa80c 100644 GIT binary patch delta 4458 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 F`XA*j0Av6F delta 4477 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 delta 4543 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