From f5b86e52b65e5cb5fee70bfa2807a049c657425e Mon Sep 17 00:00:00 2001 From: sughosh88 Date: Thu, 16 Jul 2015 10:34:17 -0700 Subject: [PATCH] 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")