Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/reportforms/service/ReportFormsManagerImpl.java =================================================================== diff -u -r15604 -r30909 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/reportforms/service/ReportFormsManagerImpl.java (.../ReportFormsManagerImpl.java) (revision 15604) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/reportforms/service/ReportFormsManagerImpl.java (.../ReportFormsManagerImpl.java) (revision 30909) @@ -12,7 +12,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; - +import org.apache.commons.lang.StringUtils; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFFont; @@ -21,6 +21,7 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; +import sun.misc.BASE64Decoder; import com.forgon.databaseadapter.service.DateQueryAdapter; import com.forgon.disinfectsystem.diposablegoods.service.DiposableGoodBatchStockManager; import com.forgon.disinfectsystem.diposablegoods.service.GodownEntryManager; @@ -41,6 +42,8 @@ import java.text.SimpleDateFormat; +import javax.servlet.http.HttpServletRequest; + /** * @author WangYi * @@ -369,5 +372,28 @@ cell.setCellFormula(formula); } } - + @Override + public void exportHtmlTable(HttpServletRequest request, OutputStream ops) { + try{ + BASE64Decoder decoder = new BASE64Decoder(); + String htmlTable = request.getParameter("htmlTable"); + if(StringUtils.isBlank(htmlTable)){ + htmlTable = (String)(request.getSession().getAttribute("htmlTable")); + } + htmlTable = new String(decoder.decodeBuffer(htmlTable)); + request.getSession().setAttribute("htmlTable",null); + ops.write(htmlTable.getBytes("UTF-8")); + ops.flush(); + }catch(IllegalArgumentException e){ + e.printStackTrace(); + }catch (Exception e) { + e.printStackTrace(); + }finally { + try { + ops.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + }; } Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java =================================================================== diff -u -r30816 -r30909 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 30816) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 30909) @@ -26,7 +26,7 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; - +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; @@ -4555,4 +4555,12 @@ public void queryQualityMonitoringDataSource(){ StrutsResponseUtils.output(jasperReportManager.queryQualityMonitoringDataSource().toString()); } + /** + * 保存导出的信息,因为导出内容过长,前台ie报错,所以采取这种方式保存 + */ + public void saveExportHtmlTableInfo() { + HttpServletRequest request = StrutsParamUtils.getRequest(); + String htmlTable = request.getParameter("htmlTable"); + request.getSession().setAttribute("htmlTable", htmlTable); + } } Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/reportforms/service/ReportFormsManager.java =================================================================== diff -u -r12331 -r30909 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/reportforms/service/ReportFormsManager.java (.../ReportFormsManager.java) (revision 12331) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/reportforms/service/ReportFormsManager.java (.../ReportFormsManager.java) (revision 30909) @@ -5,6 +5,8 @@ import java.io.OutputStream; +import javax.servlet.http.HttpServletRequest; + /** * @author WangYi * @@ -15,4 +17,10 @@ public void diposableGoodsStorageReportExport(OutputStream ops); public void diposableGoodsPriceStatisticsOfMonth(OutputStream ops); + /** + * 导出html的table到excel + * @param request + * @param ops OutputStream + */ + public void exportHtmlTable(HttpServletRequest request,OutputStream ops); }