From 2e321a2a7185f43c31642dc3459d07360bcf9d50 Mon Sep 17 00:00:00 2001
From: LiJun <LiJun@192.168.10.10>
Date: 星期五, 19 十月 2018 17:09:36 +0800
Subject: [PATCH] 表格数据上传

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

diff --git a/gx_tieta/src/com/fgkj/servlets/ExportTableServlet.java b/gx_tieta/src/com/fgkj/servlets/ExportTableServlet.java
index 73862cf..c255d3b 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,86 @@
 				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_page_names_str)){
+				return;
+				//exp_page_names[0] = "sheet1";
+			}else{
+				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_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;							//褰撳墠鍒�
+					for(int j=0;j <= exp_tbody.length;j++){
+						HSSFRow row = null;
+						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]);
+						//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();
+		} 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(",");

--
Gitblit v1.9.1