⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 everywhereorderrpt_execl.jsp

📁 电信的网厅的整站代码
💻 JSP
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--系统访问量导出excel功能-->
<%@ page language="java" contentType="text/html; charset=GBK" %>
<%@ page import="com.doone.data.*"%>
<%@ page import="com.doone.util.*"%>
<%@ page import="com.doone.uurm.*"%>
<%@ page import="com.doone.fj1w.fjmgr.rpt.*"%>
<%@ page import="java.util.*"%>
<%!
	   String getHTMLString(String tmp) {
		tmp = tmp.replaceAll("\'","&#39;");
		tmp = tmp.replaceAll("\"", "&#34;");
		tmp = tmp.replaceAll("<", "&lt;");
		tmp = tmp.replaceAll(">", "&gt;");
		tmp = tmp.replaceAll("&", "&amp;");

		return tmp;
	}
%>

<%		
    String rptType = request.getParameter("type");
    String cityCode = request.getParameter("cc");
    String startTime = request.getParameter("st");
    String endTime = request.getParameter("et");
    	    
    Map map = new HashMap();
    map.put("RPTTYPE",rptType);
    map.put("CITYCODE",cityCode);
    map.put("STARTTIME",startTime);
    map.put("ENDTIME",endTime);
    
    DataTable dt = null;
    String title = "";
    
    if(rptType != null){
    	if(rptType.equals("1")){
    	    title = "各地工单第一次处理情况统计报表";
    	}
    	else if(rptType.equals("2")){
    	    title = "各地处理完毕工单情况统计报表";
    	}
    }
    
    EverywhereOrderRptImpl everywhereOrderRptImpl = new EverywhereOrderRptImpl();
	dt = everywhereOrderRptImpl.getAllList(map);
 
	StringBuffer buffer = new StringBuffer();
	try {
	
    
   		StringBuffer content = new StringBuffer();
   		
   		com.doone.data.DataColumnCollection dcs = dt.getColumns();
		int colcount = dcs.getCount();
		content.append("<ss:Row>\n");
		for (int icol = 0;icol<colcount;icol++){
			com.doone.data.DataColumn dc = dcs.getDataColumn(icol);
			String columnName = dc.getColumnName();
			if(!columnName.equals("CITYCODE")) {
				if(columnName.equals("地区")) {
					content.append("<ss:Cell ss:MergeDown=\"1\" ss:StyleID=\"wc0CEFE34C\"><ss:Data ss:Type=\"String\">");
					content.append(columnName);
					content.append("</ss:Data>\n</ss:Cell>\n");	
				}
				else if(columnName.equals("业务受理单超时") ||
						columnName.equals("程控受理单超时") ||
						columnName.equals("故障申告单超时") ||
						columnName.equals("服务投诉单超时") ||
						columnName.equals("建议单超时")) {
					content.append("<ss:Cell ss:MergeAcross=\"1\" ss:StyleID=\"wc0CEFE34C\"><ss:Data ss:Type=\"String\">");
					content.append(columnName.substring(0,columnName.indexOf("单")+1));
					content.append("</ss:Data>\n</ss:Cell>\n");	
				}
				else if(columnName.equals("超时")){
					content.append("<ss:Cell ss:MergeAcross=\"2\" ss:StyleID=\"wc0CEFE34C\"><ss:Data ss:Type=\"String\">");
					content.append("总数");
					content.append("</ss:Data>\n</ss:Cell>\n");	
				}
			}
		}
		content.append("</ss:Row>\n");
		
		content.append("<ss:Row>\n");
		for (int icol = 0;icol<colcount;icol++){
			com.doone.data.DataColumn dc = dcs.getDataColumn(icol);
			String columnName = dc.getColumnName();
			if(!columnName.equals("CITYCODE")) {
				if(columnName.equals("业务受理单超时") ||
						columnName.equals("业务受理单未超时") ||
						columnName.equals("程控受理单超时") ||
						columnName.equals("程控受理单未超时") ||
						columnName.equals("故障申告单超时") ||
						columnName.equals("故障申告单未超时") ||
						columnName.equals("服务投诉单超时") ||
						columnName.equals("服务投诉单未超时") ||
						columnName.equals("建议单超时") ||
						columnName.equals("建议单未超时")) {
					if(columnName.equals("业务受理单超时"))
						content.append("<ss:Cell ss:Index=\"2\"><ss:Data ss:Type=\"String\">");
					else
						content.append("<ss:Cell><ss:Data ss:Type=\"String\">");
						
					content.append(columnName.substring(columnName.indexOf("单")+1,columnName.length()));
					content.append("</ss:Data></ss:Cell>\n");
				}
				else if(columnName.equals("超时") ||
						columnName.equals("未超时") ||
						columnName.equals("总计")) {
					content.append("<ss:Cell><ss:Data ss:Type=\"String\">");
					content.append(columnName);
					content.append("</ss:Data></ss:Cell>\n");
				}	
			}
		}
		content.append("</ss:Row>\n");
		
		List prodoverTime = new ArrayList();
		List prodnoOverTime = new ArrayList();
		List funoverTime = new ArrayList();
		List funnoOverTime = new ArrayList();
		List faultoverTime = new ArrayList();
		List faultnoOverTime = new ArrayList();
		List appealOverTime = new ArrayList();
		List appealnoOverTime = new ArrayList();
		List adviceOverTime = new ArrayList();
		List advicenoOverTime = new ArrayList();
		List overTime = new ArrayList();
		List noOverTime = new ArrayList(); 
		List lTotal = new ArrayList(); 
				
		for(int iresult=0;iresult<dt.getRows().getCount(); iresult++){				
		    DataRow drresult = dt.getRow(iresult);
			content.append("<ss:Row>\n");
			for (int icol=0; icol<colcount;icol++){
				com.doone.data.DataColumn dc = dcs.getDataColumn(icol);
				String columnName = dc.getColumnName();
				if(!columnName.equals("CITYCODE")) {
					if(columnName.equals("地区") ||
									columnName.equals("超时") ||
									columnName.equals("未超时") ||
									columnName.equals("总计")) {
						content.append("<ss:Cell><ss:Data ss:Type=\"String\">");
						content.append(drresult.getString(icol).trim().equals("")?"&nbsp;":drresult.getString(icol).trim());
						content.append("</ss:Data></ss:Cell>\n");
						everywhereOrderRptImpl.setTotal(columnName,"超时",drresult.getString("超时").trim(),overTime);
						everywhereOrderRptImpl.setTotal(columnName,"未超时",drresult.getString("未超时").trim(),noOverTime);
						everywhereOrderRptImpl.setTotal(columnName,"总计",drresult.getString("总计").trim(),lTotal);
					}
					else if(columnName.equals("业务受理单超时") ||
							columnName.equals("业务受理单未超时") ||
							columnName.equals("程控受理单超时") ||
							columnName.equals("程控受理单未超时") ||
							columnName.equals("故障申告单超时") ||
							columnName.equals("故障申告单未超时") ||
							columnName.equals("服务投诉单超时") ||
							columnName.equals("服务投诉单未超时") ||
							columnName.equals("建议单超时") ||
							columnName.equals("建议单未超时")) {
						content.append("<ss:Cell><ss:Data ss:Type=\"String\">");
						String sValue = drresult.getString(icol).trim();
						content.append(sValue.equals("")?"&nbsp;":sValue);
						String sPercent = drresult.getString(columnName + "百分比");
						if(sPercent != null &&
								!sPercent.equals("")) {
							content.append("(");
							if(sPercent.trim().startsWith(".")) {
								content.append("0"+sPercent.trim());
							}
							else {
								content.append(sPercent.trim());
							}
							content.append(")");
						}
						content.append("</ss:Data></ss:Cell>\n");

						everywhereOrderRptImpl.setTotal(columnName,"业务受理单超时",drresult.getString("业务受理单超时").trim(),prodoverTime);
						everywhereOrderRptImpl.setTotal(columnName,"业务受理单未超时",drresult.getString("业务受理单未超时").trim(),prodnoOverTime);
						everywhereOrderRptImpl.setTotal(columnName,"程控受理单超时",drresult.getString("程控受理单超时").trim(),funoverTime);
						everywhereOrderRptImpl.setTotal(columnName,"程控受理单未超时",drresult.getString("程控受理单未超时").trim(),funnoOverTime);
						everywhereOrderRptImpl.setTotal(columnName,"故障申告单超时",drresult.getString("故障申告单超时").trim(),faultoverTime);
						everywhereOrderRptImpl.setTotal(columnName,"故障申告单未超时",drresult.getString("故障申告单未超时").trim(),faultnoOverTime);
						everywhereOrderRptImpl.setTotal(columnName,"服务投诉单超时",drresult.getString("服务投诉单超时").trim(),appealOverTime);
						everywhereOrderRptImpl.setTotal(columnName,"服务投诉单未超时",drresult.getString("服务投诉单未超时").trim(),appealnoOverTime);
						everywhereOrderRptImpl.setTotal(columnName,"建议单超时",drresult.getString("建议单超时").trim(),adviceOverTime);
						everywhereOrderRptImpl.setTotal(columnName,"建议单未超时",drresult.getString("建议单未超时").trim(),advicenoOverTime);
						
					}
				}
			}
			content.append("</ss:Row>\n");
		}
		
		content.append("<ss:Row>\n");
		content.append("<ss:Cell><ss:Data ss:Type=\"String\">");
		content.append("合计");
		content.append("</ss:Data></ss:Cell>\n");
		everywhereOrderRptImpl.buildTotalExecl(content,prodoverTime);
		everywhereOrderRptImpl.buildTotalExecl(content,prodnoOverTime);
		everywhereOrderRptImpl.buildTotalExecl(content,funoverTime);
		everywhereOrderRptImpl.buildTotalExecl(content,funnoOverTime);
		everywhereOrderRptImpl.buildTotalExecl(content,faultoverTime);
		everywhereOrderRptImpl.buildTotalExecl(content,faultnoOverTime);
		everywhereOrderRptImpl.buildTotalExecl(content,appealOverTime);
		everywhereOrderRptImpl.buildTotalExecl(content,appealnoOverTime);
		everywhereOrderRptImpl.buildTotalExecl(content,adviceOverTime);
		everywhereOrderRptImpl.buildTotalExecl(content,advicenoOverTime);
		everywhereOrderRptImpl.buildTotalExecl(content,overTime);
		everywhereOrderRptImpl.buildTotalExecl(content,noOverTime);
		everywhereOrderRptImpl.buildTotalExecl(content,lTotal);
		content.append("</ss:Row>\n");

		buffer.append("<?xml version=\"1.0\"?>\n");
		buffer.append("<ss:Workbook xmlns:x=\"urn:schemas-microsoft-com:office:excel\"\n xmlns:ss=\"urn:schemas-microsoft-com:office:spreadsheet\"\n xmlns:c=\"urn:schemas-microsoft-com:office:component:spreadsheet\">\n ");
		buffer.append("<x:ExcelWorkbook>\n");
		buffer.append("<x:ProtectStructure>False</x:ProtectStructure>\n");
		buffer.append("<x:ActiveSheet>0</x:ActiveSheet>\n");
		buffer.append("</x:ExcelWorkbook>\n");

		buffer.append("<ss:Styles>\n");
		buffer.append("<ss:Style ss:ID=\"Default\">\n ");
		buffer.append("<ss:Alignment ss:Horizontal=\"Automatic\" ss:Rotate=\"0.0\" ss:Vertical=\"Bottom\"\n ss:ReadingOrder=\"Context\"/>\n");
		buffer.append("<ss:Borders>\n</ss:Borders>\n");
		buffer.append("<ss:Font ss:FontName=\"宋体\" ss:Size=\"10\" ss:Color=\"Automatic\" ss:Bold=\"0\"\n    ss:Italic=\"0\" ss:Underline=\"None\"/>\n");
		buffer.append("<ss:Interior ss:Color=\"Automatic\" ss:Pattern=\"None\"/>\n");
		buffer.append("<ss:NumberFormat ss:Format=\"General\"/>\n");
		buffer.append("<ss:Protection ss:Protected=\"1\"/>\n");
		buffer.append("</ss:Style>\n");
		
		buffer.append("<ss:Style ss:ID=\"wc0CEFE34C\">\n");
		buffer.append("<ss:Alignment ss:Horizontal=\"Center\"/>\n");
		buffer.append("<ss:Font ss:FontName=\"宋体\" ss:Size=\"10\" ss:Bold=\"1\"/>\n");
		buffer.append("</ss:Style>\n");

		buffer.append("</ss:Styles>\n ");
		
		
		buffer.append("<c:ComponentOptions>\n");
		buffer.append("<c:Label>\n");
		buffer.append("<c:Caption>Microsoft Office Spreadsheet</c:Caption>\n");
		buffer.append("</c:Label>\n  ");
		buffer.append("<c:MaxHeight>80%</c:MaxHeight>\n  ");
		buffer.append("<c:MaxWidth>80%</c:MaxWidth>\n  ");
		buffer.append("<c:NextSheetNumber>4</c:NextSheetNumber>\n ");
		buffer.append("</c:ComponentOptions>\n ");
		buffer.append("<x:WorkbookOptions>\n  ");
		buffer.append("<c:OWCVersion>10.0.0.4109</c:OWCVersion>\n");
		buffer.append("<x:Height>7620</x:Height>\n");
		buffer.append("<x:Width>15240</x:Width>\n");
		buffer.append("</x:WorkbookOptions>\n");
		buffer.append("<ss:Worksheet ss:Name=\""+title+"\">\n  ");
		buffer.append("<x:WorksheetOptions>\n   ");
		buffer.append("<x:Selected/>\n   ");
		buffer.append("<x:ViewableRange>R1:R262144</x:ViewableRange>\n   ");
		buffer.append("<x:Selection>R1C1</x:Selection>\n   ");
		buffer.append("<x:TopRowVisible>0</x:TopRowVisible>\n ");  
		buffer.append("<x:LeftColumnVisible>0</x:LeftColumnVisible>\n   ");
		buffer.append("<x:ProtectContents>False</x:ProtectContents>\n  ");
		buffer.append("</x:WorksheetOptions>\n  ");
		buffer.append("<c:WorksheetOptions>\n  </c:WorksheetOptions>\n  ");
		buffer.append("<ss:Table ss:DefaultColumnWidth=\"54.0\" ss:DefaultRowHeight=\"12.75\">");
		
		buffer.append("<ss:Column ss:Width=\"54.0\" ss:AutoFitWidth=\"0\"/>");
		buffer.append("<ss:Column ss:Width=\"120.0\" ss:AutoFitWidth=\"0\"/>");
		buffer.append("<ss:Column ss:Width=\"54.0\" ss:AutoFitWidth=\"0\"/>");
		buffer.append("<ss:Column ss:Width=\"100.0\" ss:AutoFitWidth=\"0\"/>");
		buffer.append("<ss:Column ss:Width=\"250.0\" ss:AutoFitWidth=\"0\"/>");
		
		buffer.append(content);
		
		buffer.append("</ss:Table>\n</ss:Worksheet>\n");
		buffer.append("</ss:Workbook>\n");

		ExtString.replace(buffer, "&", "&amp;");
		ExtString.replace(buffer, "<", "&lt;");
		ExtString.replace(buffer, ">", "&gt;");
		ExtString.replace(buffer, "\"", "&quot;");
		
		//response.reset();
		//response.setContentType("application/vnd.ms-excel; charset=gbk");

		//out.print(buffer);
		//out.close();
		//return ;
	}
	catch(Exception ex){
		FileLogger.getLogger().warn(ex.getMessage(),ex);
	}
%>
<html>
<head>
    <meta content="text/html; charset=GB18030" http-equiv="content-type"/>
    <title><%=title%>导出EXCEL</title>
</head>
<body style="margin: 0px">
	<object width="100%" height="100%" classid="CLSID:0002E551-0000-0000-C000-000000000046" codebase="/manager/owc11.exe">
		<param name="DataType" value="XMLDATA">
		<param name="XMLData" value="<%= buffer%>">
		<table width='100%' cellpadding='0' cellspacing='0' border='0' height='8'>
			<tr>
				<td bgColor='#336699' height='25' width='10%'>&nbsp;</td>
				<td bgColor='#666666'width='85%'>
					<font face='宋体' color='white' size='4'>
						<b>&nbsp; 缺少 Microsoft Office Web Components</b>
					</font>
				</td>
			</tr>
			<tr>
				<td bgColor='#cccccc' width='15'>&nbsp;</td>
				<td bgColor='#cccccc' width='500px'><br> 
					<font face='宋体' size='2'>此网页要求 Microsoft Office Web Components。
					<p align='center'> 一般装完Office后会自动安装该组件.</p></font><p><font face='宋体' size='2'>此网页同时要求 Microsoft Internet Explorer 5.01 或更高版本。</p><p align='center'><a href='http://www.microsoft.com/windows/ie/default.htm'> 单击此处安装最新的 Internet Explorer</a>.</font><br>&nbsp;</td></tr></table>
	</object>

</body>

</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -