From 35fefed0792c40cb99b8d15fa5811bbb5992bff9 Mon Sep 17 00:00:00 2001 From: D:/workspace/chenjingjing/git/gx_tieta/gx_tieta/.gitignore <chenjingjing@LAPTOP-E51P2139> Date: 星期一, 21 一月 2019 10:42:24 +0800 Subject: [PATCH] 修改 --- gx_tieta/src/com/fgkj/servlets/ExportTableServlet.java | 95 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 94 insertions(+), 1 deletions(-) diff --git a/gx_tieta/src/com/fgkj/servlets/ExportTableServlet.java b/gx_tieta/src/com/fgkj/servlets/ExportTableServlet.java index 73862cf..73b445c 100644 --- a/gx_tieta/src/com/fgkj/servlets/ExportTableServlet.java +++ b/gx_tieta/src/com/fgkj/servlets/ExportTableServlet.java @@ -33,6 +33,9 @@ protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String pageName=req.getParameter("PageName"); + + String exp_KeyWord = req.getParameter("exp_normal"); //閫氱敤鍒板琛ㄦ牸鏍囪瘑绗� + if(ServletUtils.isNotNull(pageName)){ if("ele_statistics.jsp".equals(pageName)){ excelTitle="鐢垫睜淇℃伅缁熻鏌ヨ"; @@ -121,9 +124,94 @@ excelTitle="璁惧鐘舵�佸彉鍖栬褰曡〃"; Exporttele_eleBrdwMaintTable(resp,req); } + }else if(ServletUtils.isNotNull(exp_KeyWord)){ + if("1".equals(exp_KeyWord)){ + ExportGeneralExcelTable(resp,req); //瀵煎嚭閫氱敤鐨勮〃鏍� + } } } + private void ExportGeneralExcelTable(HttpServletResponse resp, + HttpServletRequest req) { + String exp_thead_str = req.getParameter("exp_thead"); + String exp_tbody_str = req.getParameter("exp_tbody"); + + String exp_page_break = "\\"+req.getParameter("exp_page_break"); + String exp_data_break = "\\"+req.getParameter("exp_data_break"); + + String exp_page_names_str = req.getParameter("exp_page_names"); + + String[] exp_page_names = new String[]{}; + + + + + + + try { + //瀹氫箟涓�涓伐浣滅翱 + HSSFWorkbook workbook = new HSSFWorkbook(); + + if(ServletUtils.isNotNull(exp_thead_str)){ + exp_page_names = exp_page_names_str.split(exp_page_break); //鍒嗗壊宸ヤ綔绨跨殑鍚嶇О + + String[] exp_thead_sheets = exp_thead_str.split(exp_page_break); + String[] exp_tbody_sheets = exp_tbody_str.split(exp_page_break); + if(!ServletUtils.isNotNull(exp_page_names_str)){ + exp_page_names = new String[]{}; + for(int s=0;s<exp_tbody_sheets.length;s++){ + exp_page_names[s] = "sheet"+s; + } + } + + for (int i = 0; i < exp_thead_sheets.length; i++) { + HSSFSheet sheet = i<exp_page_names.length?workbook.createSheet(exp_page_names[i]):workbook.createSheet(); + String[] exp_thead = exp_thead_sheets[i].split(exp_data_break); + String[] exp_tbody = exp_tbody_sheets[i].split(exp_data_break); + + int maxColNum = exp_thead.length; //鏈�澶у垪鏁� + int nowRowNum = 0; //褰撳墠琛� + int nowColNum = 0; //褰撳墠鍒� + HSSFRow row = null; + for(int j=0;j <= exp_tbody.length;j++){ + //System.out.println("j="+j+"\t nowRowNum="+nowRowNum); + if(j == 0){ + row = sheet.createRow(nowRowNum++); + for(int k=0;k<exp_thead.length;k++){ + HSSFCell cell = row.createCell(k); + HSSFRichTextString text = new HSSFRichTextString(exp_thead[k]); + //System.out.print(text+"\t"); + cell.setCellValue(text); + } + continue; + }else if(j%maxColNum == 1){ + nowColNum = 0; + row = sheet.createRow(nowRowNum++); + } + HSSFCell cell = row.createCell(nowColNum++); + HSSFRichTextString text = new HSSFRichTextString(exp_tbody[j-1]); + //HSSFRichTextString text = new HSSFRichTextString("*****"); + //System.out.print(text+"\t"); + cell.setCellValue(text); + } + } + + } + + // 杞爜闃叉涔辩爜 + resp.addHeader("Content-Disposition", "attachment;filename=" + + new String(excelName.getBytes("gb2312"), "ISO8859-1") + + ".xls"); + OutputStream out = resp.getOutputStream(); + workbook.write(out); + out.close(); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } + private void Exporttele_eleBrdwMaintTable(HttpServletResponse resp, HttpServletRequest req) { String[] th_arr=req.getParameter("table_th_arr").split(","); @@ -338,5 +426,10 @@ } - + public static void main(String[] args) { + String ths = "h1&h2&h3&h4$xh1&xh2&xh3&xh4"; + System.out.println(ths.indexOf("$")); + String[] sheets = ths.split("\\&"); + System.out.println(sheets.length); + } } -- Gitblit v1.9.1