Index: ssts-web/src/main/webapp/jasperRtp/exportReport.jsp =================================================================== diff -u -r33106 -r35512 --- ssts-web/src/main/webapp/jasperRtp/exportReport.jsp (.../exportReport.jsp) (revision 33106) +++ ssts-web/src/main/webapp/jasperRtp/exportReport.jsp (.../exportReport.jsp) (revision 35512) @@ -1,26 +1,19 @@ <%@ page contentType="text/html; charset=UTF-8"%> -<%@page import="net.sf.jasperreports.engine.export.JRXlsAbstractExporterParameter"%> -<%@page import="net.sf.jasperreports.engine.export.JRXlsExporterParameter"%> <%@page import="java.net.URLEncoder"%> -<%@page import="net.sf.jasperreports.engine.JRException"%> -<%@page import="net.sf.jasperreports.j2ee.servlets.ImageServlet"%> -<%@page import="java.io.IOException"%> <%@page import="java.io.OutputStream"%> -<%@page import="net.sf.jasperreports.engine.JRExporterParameter"%> -<%@page import="net.sf.jasperreports.engine.export.JExcelApiExporter"%> <%@page import="net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter"%> <%@page import="net.sf.jasperreports.engine.JasperPrint"%> +<%@page import="net.sf.jasperreports.export.SimpleXlsxReportConfiguration"%> +<%@page import="net.sf.jasperreports.export.SimpleExporterInput"%> +<%@page import="net.sf.jasperreports.export.Exporter"%> +<%@page import="net.sf.jasperreports.export.SimpleOutputStreamExporterOutput"%> <% - -Object obj = session.getAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE); -JasperPrint jasperPrint = null; -if(obj instanceof JasperPrint){ - jasperPrint = (JasperPrint)obj; -} +JasperPrint jasperPrint = (JasperPrint)session.getAttribute("jasperPrintForPrint"); OutputStream outputStream = null; - try { - //out.clear(); //清空缓存的内容 - //out = pageContext.pushBody(); + String fileName = null; + try { + out.clear(); //清空缓存的内容 + out = pageContext.pushBody(); outputStream = response.getOutputStream(); response.setContentType("application/x-download"); response.setCharacterEncoding("UTF-8"); @@ -29,31 +22,33 @@ appointFileName = ""; } if(appointFileName == ""){ - response.setHeader("Content-Disposition", "attachment;filename="+URLEncoder.encode(session.getAttribute("fileName") + appointFileName +".xlsx", "UTF-8")); + fileName = session.getAttribute("fileName") + appointFileName +".xlsx"; }else{ - response.setHeader("Content-Disposition", "attachment;filename="+URLEncoder.encode(appointFileName +".xlsx", "UTF-8")); + fileName = appointFileName +".xlsx"; } - - }catch (IOException e) { + response.setHeader("Content-Disposition", "attachment;filename="+URLEncoder.encode(fileName, "UTF-8")); + }catch (Exception e) { //e.printStackTrace(); - }catch(IllegalStateException e){ - } - JRXlsxExporter xlsExporter = new JRXlsxExporter(); - xlsExporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); - xlsExporter.setParameter(JRExporterParameter.OUTPUT_STREAM,outputStream); - xlsExporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,Boolean.TRUE); - xlsExporter.setParameter(JRXlsExporterParameter.IGNORE_PAGE_MARGINS,Boolean.TRUE); - xlsExporter.setParameter(JRXlsAbstractExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE); - //xlsExporter.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE);//设置导出的Excel 数字显示成字符串问题 - //xlsExporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,Boolean.FALSE); - //xlsExporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND,Boolean.FALSE); - try { - xlsExporter.exportReport(); - outputStream.close(); - out.clear(); - out = pageContext.pushBody(); - } catch (JRException e) { - e.printStackTrace(); - } + } + SimpleOutputStreamExporterOutput simpleOutputStreamExporterOutput = new SimpleOutputStreamExporterOutput(outputStream); + Exporter exporter = new JRXlsxExporter(); + exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); + exporter.setExporterOutput(simpleOutputStreamExporterOutput); + SimpleXlsxReportConfiguration configuration = new SimpleXlsxReportConfiguration(); + configuration.setOnePagePerSheet(false); + configuration.setRemoveEmptySpaceBetweenRows(true); + configuration.setIgnorePageMargins(true); + configuration.setDetectCellType(true); + configuration.setWhitePageBackground(false); + exporter.setConfiguration(configuration); + exporter.exportReport(); + try { + outputStream.close(); + out.clear(); + out = pageContext.pushBody(); + } catch (Exception e) { + e.printStackTrace(); + } + %> Index: ssts-web/src/main/webapp/tempTable.html =================================================================== diff -u --- ssts-web/src/main/webapp/tempTable.html (revision 0) +++ ssts-web/src/main/webapp/tempTable.html (revision 35512) @@ -0,0 +1,289 @@ + + + + + + + + + + +
  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+登记人 +登记时间 +维修状态 +器械名称 +所属器械包 +数量 +出科时间 +回科时间 +故障原因/故障点 +备注
+admin +2022-02-15 10:24 +报废 +持骨钳[270] + 支撑喉镜包(黄色备用) +1 + + + +一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二
+admin +2022-02-14 00:00 +待维修 +鼻刮匙[a] +鼻镜 +1 + + + +一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二
+admin +2022-02-14 00:00 +待维修 +鼻刮匙[a] +鼻镜 +1 + + + +一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二
+admin +2022-02-14 00:00 +已维修 +鼻剪[a] +鼻镜 +2 + +2022-02-14 00:00 + +一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二
+ADSON镊[a] +B超室穿刺包 +1
+admin +2022-02-14 00:00 +报废 +ADSON镊[a] +B超室穿刺包 +1 +2022-02-14 00:00 + + +一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二
+杨玲 +2022-02-11 00:00 +已维修 +摆锯[a] +P5洁牙机 +1 +2022-02-12 00:00 +2022-02-15 10:42 + +一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二
+3.5螺钉[a] +2.0空心钉 +1
+蔡小惠 +2022-02-11 00:00 +报废 +鼻增殖体刮匙[220×12,无钩] +B超拆线包 +1 +2022-02-11 00:00 +2022-02-14 00:00 +888 +一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二一二
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+登记人 +登记时间 +维修状态 +器械名称 +所属器械包 +数量 +出科时间 +回科时间 +故障原因/故障点 +备注
+ +3.5螺钉[a] +ICU纤支镜 +1 +
+
+ +
 
+ + Index: ssts-web/src/main/webapp/jasperRtp/exportHtmlReport.jsp =================================================================== diff -u -r25891 -r35512 --- ssts-web/src/main/webapp/jasperRtp/exportHtmlReport.jsp (.../exportHtmlReport.jsp) (revision 25891) +++ ssts-web/src/main/webapp/jasperRtp/exportHtmlReport.jsp (.../exportHtmlReport.jsp) (revision 35512) @@ -1,50 +1,40 @@ +<%@page import="net.sf.jasperreports.export.SimpleHtmlReportConfiguration"%> +<%@page import="net.sf.jasperreports.engine.export.HtmlExporter"%> +<%@page import="net.sf.jasperreports.export.SimpleExporterInput"%> +<%@page import="net.sf.jasperreports.export.SimpleHtmlExporterOutput"%> <%@ page contentType="text/html; charset=UTF-8"%> <%@page import="java.net.URLEncoder"%> -<%@page import="net.sf.jasperreports.engine.JRException"%> -<%@page import="net.sf.jasperreports.j2ee.servlets.ImageServlet"%> <%@page import="java.io.IOException"%> <%@page import="java.io.OutputStream"%> -<%@page import="net.sf.jasperreports.engine.JRExporterParameter"%> <%@page import="net.sf.jasperreports.engine.JasperPrint"%> -<%@page import="net.sf.jasperreports.engine.JRExporter"%> -<%@page import="net.sf.jasperreports.engine.export.JRHtmlExporter"%> -<%@page import="net.sf.jasperreports.engine.export.JRHtmlExporterParameter"%> - - - <% - - Object obj = session.getAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE); - JasperPrint jasperPrint = null; - if(obj instanceof JasperPrint){ - jasperPrint = (JasperPrint)obj; - } + JasperPrint jasperPrint = (JasperPrint)session.getAttribute("jasperPrintForPrint"); OutputStream outputStream = null; try { response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); response.setHeader("Content-Disposition", "attachment;filename="+URLEncoder.encode(session.getAttribute("fileName")+".html", "UTF-8")); outputStream = response.getOutputStream(); - - }catch (IOException e) { //e.printStackTrace(); }catch(IllegalStateException e){ } - JRHtmlExporter htmlExporter = new JRHtmlExporter(); - htmlExporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); - htmlExporter.setParameter(JRExporterParameter.OUTPUT_STREAM,outputStream); - htmlExporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN,Boolean.FALSE); - htmlExporter.setParameter(JRHtmlExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,Boolean.TRUE); - htmlExporter.setParameter(JRHtmlExporterParameter.IGNORE_PAGE_MARGINS,Boolean.TRUE); - //htmlExporter.setParameter(JRHtmlExporterParameter.IS_WHITE_PAGE_BACKGROUND,Boolean.TRUE); try { - htmlExporter.exportReport(); + HtmlExporter exporterHTML = new HtmlExporter(); + exporterHTML.setExporterInput(new SimpleExporterInput(jasperPrint)); + SimpleHtmlReportConfiguration reportExportConfiguration = new SimpleHtmlReportConfiguration(); + SimpleHtmlExporterOutput exporterOutput = new SimpleHtmlExporterOutput(outputStream); + reportExportConfiguration.setWhitePageBackground(Boolean.TRUE); + reportExportConfiguration.setRemoveEmptySpaceBetweenRows(Boolean.TRUE); + reportExportConfiguration.setIgnorePageMargins(Boolean.TRUE); + exporterHTML.setConfiguration(reportExportConfiguration); + exporterHTML.setExporterOutput(exporterOutput); + exporterHTML.exportReport(); outputStream.close(); out.clear(); out = pageContext.pushBody(); - } catch (JRException e) { + } catch (Exception e) { e.printStackTrace(); } %> Index: ssts-web/src/main/webapp/jasperRtp/exportPdfReport.jsp =================================================================== diff -u -r25891 -r35512 --- ssts-web/src/main/webapp/jasperRtp/exportPdfReport.jsp (.../exportPdfReport.jsp) (revision 25891) +++ ssts-web/src/main/webapp/jasperRtp/exportPdfReport.jsp (.../exportPdfReport.jsp) (revision 35512) @@ -1,65 +1,64 @@ + +<%@page import="net.sf.jasperreports.export.Exporter"%> +<%@page import="net.sf.jasperreports.export.SimpleXlsxReportConfiguration"%> +<%@page import="net.sf.jasperreports.export.SimpleExporterInput"%> +<%@page import="net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter"%> +<%@page import="net.sf.jasperreports.export.SimpleOutputStreamExporterOutput"%> <%@ page contentType="text/html; charset=UTF-8"%> <%@page import="java.text.SimpleDateFormat"%> -<%@page import="com.forgon.tools.date.DateTools"%> <%@page import="java.util.Date"%> <%@page import="java.io.File"%> <%@page import="com.forgon.tools.itextpdf.ExcelToPdf"%> <%@page import="java.io.FileInputStream"%> <%@page import="java.io.InputStream"%> <%@page import="java.io.FileOutputStream"%> -<%@page import="net.sf.jasperreports.engine.export.JRXlsAbstractExporterParameter"%> -<%@page import="net.sf.jasperreports.engine.export.JRXlsExporterParameter"%> <%@page import="java.net.URLEncoder"%> <%@page import="net.sf.jasperreports.engine.JRException"%> -<%@page import="net.sf.jasperreports.j2ee.servlets.ImageServlet"%> <%@page import="java.io.IOException"%> <%@page import="java.io.OutputStream"%> -<%@page import="net.sf.jasperreports.engine.JRExporterParameter"%> -<%@page import="net.sf.jasperreports.engine.export.JExcelApiExporter"%> <%@page import="net.sf.jasperreports.engine.JasperPrint"%> <% -Object obj = session.getAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE); -JasperPrint jasperPrint = null; -if(obj instanceof JasperPrint){ - jasperPrint = (JasperPrint)obj; -} +JasperPrint jasperPrint = (JasperPrint)session.getAttribute("jasperPrintForPrint"); String fileNameDate = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()); String outputPath = application.getRealPath("/") + "download2/"; //判断下载文件夹是否存在,如果不存在则创建 File downloadFilePath = new File(outputPath); if(!downloadFilePath.exists()){ downloadFilePath.mkdir(); } -String downloadXlsFileName = "xlsReport-" + fileNameDate + ".xls"; +String downloadXlsFileName = "xlsReport-" + fileNameDate + ".xlsx"; String downloadPdfFileName = "xlsReport-" + fileNameDate + ".pdf"; OutputStream excelOutputStream = null; InputStream excelInputStream = null; InputStream pdfFileInputStream = null; OutputStream pdfResponseOutputStream = null; -File inputXlsFile = null;//输入的xls文件 +File inputXlsFile = null;//输入的xlsx文件 File outputPdfFile = null;//输出的pdf文件 try { - excelOutputStream = new FileOutputStream(outputPath + downloadXlsFileName); + excelOutputStream = new FileOutputStream(outputPath + downloadXlsFileName); - JExcelApiExporter xlsExporter = new JExcelApiExporter(); - xlsExporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); - xlsExporter.setParameter(JRExporterParameter.OUTPUT_STREAM,excelOutputStream); - xlsExporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,Boolean.TRUE); - xlsExporter.setParameter(JRXlsExporterParameter.IGNORE_PAGE_MARGINS,Boolean.TRUE); - xlsExporter.setParameter(JRXlsAbstractExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE); - //xlsExporter.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE);//设置导出的Excel 数字显示成字符串问题 - //xlsExporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,Boolean.FALSE); - //xlsExporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND,Boolean.FALSE); - xlsExporter.exportReport(); + SimpleOutputStreamExporterOutput simpleOutputStreamExporterOutput = new SimpleOutputStreamExporterOutput(excelOutputStream); + Exporter xlsExporter = new JRXlsxExporter(); + xlsExporter.setExporterInput(new SimpleExporterInput(jasperPrint)); + xlsExporter.setExporterOutput(simpleOutputStreamExporterOutput); + SimpleXlsxReportConfiguration configuration = new SimpleXlsxReportConfiguration(); + configuration.setOnePagePerSheet(false); + configuration.setRemoveEmptySpaceBetweenRows(true); + configuration.setRemoveEmptySpaceBetweenColumns(true); + configuration.setIgnorePageMargins(true); + configuration.setDetectCellType(true); + configuration.setWhitePageBackground(false); + xlsExporter.setConfiguration(configuration); + xlsExporter.exportReport(); excelOutputStream.close(); excelOutputStream.flush(); inputXlsFile = new File(outputPath + downloadXlsFileName); outputPdfFile = new File(outputPath + downloadPdfFileName); excelInputStream = new FileInputStream(inputXlsFile); - ExcelToPdf.excelToPdf(excelInputStream, outputPath + downloadPdfFileName); + ExcelToPdf.xlsxToPdf(excelInputStream, outputPath + downloadPdfFileName); try { pdfFileInputStream = new FileInputStream(outputPath + downloadPdfFileName); pdfResponseOutputStream = response.getOutputStream(); @@ -84,12 +83,12 @@ } finally { try{ //删除临时生成的两个文件 - try{ + /* try{ inputXlsFile.delete(); outputPdfFile.delete(); }catch(Exception e){ e.printStackTrace(); - } + } */ pdfResponseOutputStream.close(); pdfResponseOutputStream.flush(); out.clear();