From e22fd0bac62d20d94e58409ea15049c67f6ff1eb Mon Sep 17 00:00:00 2001
From: 81041 <81041@192.168.10.26>
Date: 星期四, 13 十二月 2018 10:33:35 +0800
Subject: [PATCH] 修改

---
 gx_tieta/src/com/fgkj/servlets/ExportTableServlet.java |   41 +++++++++++++++++++++++++++--------------
 1 files changed, 27 insertions(+), 14 deletions(-)

diff --git a/gx_tieta/src/com/fgkj/servlets/ExportTableServlet.java b/gx_tieta/src/com/fgkj/servlets/ExportTableServlet.java
index c255d3b..73b445c 100644
--- a/gx_tieta/src/com/fgkj/servlets/ExportTableServlet.java
+++ b/gx_tieta/src/com/fgkj/servlets/ExportTableServlet.java
@@ -136,8 +136,8 @@
 		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_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");
 		
@@ -152,26 +152,29 @@
 			//瀹氫箟涓�涓伐浣滅翱
 			HSSFWorkbook workbook = new HSSFWorkbook();
 			
-			
-			if(!ServletUtils.isNotNull(exp_page_names_str)){
-				return;
-				//exp_page_names[0] = "sheet1";
-			}else{
+			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);		
-				
-				for (int i = 0; i < exp_page_names.length && exp_page_names.length >= exp_thead_sheets.length; i++) {
-					HSSFSheet sheet = workbook.createSheet(excelTitle);
+				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++){
-						HSSFRow row = null;
+						//System.out.println("j="+j+"\t nowRowNum="+nowRowNum);
 						if(j == 0){
 							row = sheet.createRow(nowRowNum++); 
 							for(int k=0;k<exp_thead.length;k++){	
@@ -187,16 +190,21 @@
 						}
 						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) {
@@ -418,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