📄 everywhereorderrpt_execl.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("\'","'");
tmp = tmp.replaceAll("\"", """);
tmp = tmp.replaceAll("<", "<");
tmp = tmp.replaceAll(">", ">");
tmp = tmp.replaceAll("&", "&");
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("")?" ":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("")?" ":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, "&", "&");
ExtString.replace(buffer, "<", "<");
ExtString.replace(buffer, ">", ">");
ExtString.replace(buffer, "\"", """);
//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%'> </td>
<td bgColor='#666666'width='85%'>
<font face='宋体' color='white' size='4'>
<b> 缺少 Microsoft Office Web Components</b>
</font>
</td>
</tr>
<tr>
<td bgColor='#cccccc' width='15'> </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> </td></tr></table>
</object>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -