Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static AbstractJasperReportsSingleFormatView getJasperReportsView(HttpServletRequest request, String url, String format, String fileName) {
- String[] sheetNames = {fileName};
- String viewFormat = format == null ? "pdf" : format;
- // set possible content headers
- Properties availableHeaders = new Properties();
- availableHeaders.put("html", "inline; filename=" + fileName + ".html");
- availableHeaders.put("csv", "inline; filename=" + fileName + ".csv");
- availableHeaders.put("pdf", "inline; filename=" + fileName + ".pdf");
- availableHeaders.put("xls", "inline; filename=" + fileName + ".xls");
- availableHeaders.put("xlsx", "inline; filename=" + fileName + ".xlsx");
- // get jasperView class based on the format supplied
- // defaults to pdf
- AbstractJasperReportsSingleFormatView jasperView;
- if (viewFormat.equals("csv")) {
- jasperView = new JasperReportsCsvView();
- Map exporterParameters = new HashMap();
- exporterParameters.put("net.sf.jasperreports.engine.export.JRCsvExporterParameter.FIELD_DELIMITER", "|");
- exporterParameters.put("net.sf.jasperreports.engine.export.JRCsvExporterParameter.RECORD_DELIMITER", "\r\n");
- jasperView.setExporterParameters(exporterParameters);
- } else if (viewFormat.equals("html")) {
- jasperView = new JasperReportsHtmlView();
- } else if (viewFormat.equals("xls")) {
- Map exporterParameters = new HashMap();
- exporterParameters.put("net.sf.jasperreports.engine.export.JRXlsExporterParameter.IS_DETECT_CELL_TYPE", true);
- exporterParameters.put("net.sf.jasperreports.engine.export.JRXlsExporterParameter.IS_COLLAPSE_ROW_SPAN", true);
- exporterParameters.put("net.sf.jasperreports.engine.export.JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_COLUMNS", true);
- exporterParameters.put("net.sf.jasperreports.engine.export.JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS", true);
- exporterParameters.put("net.sf.jasperreports.engine.export.JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND", false);
- exporterParameters.put("net.sf.jasperreports.engine.export.JRXlsExporterParameter.SHEET_NAMES", sheetNames);
- jasperView = new JasperReportsXlsView();
- jasperView.setExporterParameters(exporterParameters);
- } else if (viewFormat.equals("xlsx")) {
- Map exporterParameters = new HashMap();
- exporterParameters.put("net.sf.jasperreports.engine.export.JRXlsExporterParameter.IS_DETECT_CELL_TYPE", true);
- //exporterParameters.put("net.sf.jasperreports.engine.export.JRXlsExporterParameter.IS_COLLAPSE_ROW_SPAN", true);
- exporterParameters.put("net.sf.jasperreports.engine.export.JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_COLUMNS", true);
- exporterParameters.put("net.sf.jasperreports.engine.export.JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS", true);
- exporterParameters.put("net.sf.jasperreports.engine.export.JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND", false);
- exporterParameters.put("net.sf.jasperreports.engine.export.JRXlsExporterParameter.SHEET_NAMES", sheetNames);
- jasperView = new JasperReportsXlsxView();
- jasperView.setExporterParameters(exporterParameters);
- } else {
- jasperView = new JasperReportsPdfView();
- }
- // get appContext. required by the view
- WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext());
- // set the appropriate content disposition header.
- Properties headers = new Properties();
- headers.put("Content-Disposition", availableHeaders.get(viewFormat));
- // set the relevant jasperView properties
- jasperView.setUrl(url);
- jasperView.setApplicationContext(ctx);
- jasperView.setHeaders(headers);
- // return view
- return jasperView;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement