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

📄 downtableaction.java

📁 基于Java的地图数据管理软件。使用MySQL数据库管理系统。
💻 JAVA
字号:
/* 创建日期:Dec 18, 2006
 * 作  者:朱 闰
 * 公  司:安徽通途信息技术有限公司
 */

package com.tongtu.Action.planManage;

import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import jxl.Workbook;
import jxl.format.UnderlineStyle;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.tongtu.Action.TopBaseAction;
import com.tongtu.util.CurrentUser;
import com.tongtu.util.PlanDetail;
import com.tongtu.util.TotalDetail;
import com.tongtu.util.UserInfo;

public class DownTableAction extends TopBaseAction
{
    public ActionForward execute(ActionMapping actionMapping,
            ActionForm actionForm, HttpServletRequest httpServletRequest,
            HttpServletResponse httpServletResponse) throws IOException {
        ActionErrors errors = new ActionErrors();
        
      	String tableId = httpServletRequest.getParameter("table_id");
     	String tabletype = httpServletRequest.getParameter("tableType");
     	int tableType = 0;
     	if (tabletype != null) tableType = Integer.parseInt(tabletype);
        HttpSession session = httpServletRequest.getSession();   
        UserInfo user = (UserInfo) session.getAttribute("curuser");
	      String cityValue = user.getCity();
	      String countyValue = user.getCounty();
	      String code = "";
	      if (cityValue.equals("340000000000") || cityValue.equals("0"))
	    	    code = "34";   //省级用户及超级用户
	      else if (!cityValue.equals("0") && countyValue.equals("0"))
	    	    code = cityValue.substring(0,4); //市级用户
	      else  code = countyValue.substring(0,6); //县区级用户

	      CurrentUser cu = new CurrentUser();
	      
	    ArrayList tableContent = new ArrayList(); 
	    
	 	httpServletRequest.getInputStream().close();

	   	OutputStream os = httpServletResponse.getOutputStream();
	   	WritableWorkbook wwb = Workbook.createWorkbook(os);
	   	WritableSheet ws = wwb.createSheet("Sheet1", 0);
	   	WritableFont wfc = new jxl.write.WritableFont(WritableFont.createFont("宋体"), 12, WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.BLACK);
	   	WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc);
	   	httpServletResponse.setContentType("application/x-msdownload");
	   	httpServletResponse.setHeader("Content-Disposition", "attachment; filename=\"" + tableId + ".xls\"");
	    //导出表格
	     ArrayList row = new ArrayList(); //表格头行
	        if (tableType == 1){
	          row.add("路线名称");  
	          row.add("计划类型");
	          row.add("市名");
	          row.add("县区名");
	          row.add("行政村名称");  
	          row.add("行政村类型");    
	          row.add("乡镇名称");  
	          row.add("建设里程(公里)");  
	          row.add("路基宽度(米)");
	          row.add("路面宽度(米)");
	          row.add("路面类型");
	          row.add("投资金额(万元)");
	          row.add("省补资金(万元)");
	          row.add("开工时间");
	          row.add("完工时间"); 
	        }
	        if (tableType == 2){
		         row.add("市名");  
	             row.add("县区名");    
		         row.add("乡镇名称");  
		         row.add("乡镇个数");  
		         row.add("行政村个数");
		         row.add("建设里程(公里)");
		         row.add("计划总投资(万元)");
		         row.add("中央投资(万元)");
		         row.add("省市区自筹(万元)");
		         row.add("省补资金(万元)");
		          
	        }
	        if (tableType == 3){
	        	 row.add("行政单位");  
	             row.add("沟通行政村");    
		         row.add("");  
		         row.add("");  
		         row.add("");  
		         row.add("");
		         row.add("非沟通行政村");
		         row.add("");
		         row.add("");
		         row.add("");  
		         row.add("");
		         row.add("县道土路");
		         row.add("");
		         row.add("");
		         row.add("");  
		         row.add("");
		         row.add("县道砂石路");
		         row.add("");
		         row.add("");
		         row.add("");  
		         row.add("");
		         tableContent.add(row); 
		         row = new ArrayList();
		         row.add("");  
	             row.add("建设里程(公里)");    
		         row.add("计划总投资(万元)");  
		         row.add("上级补助资金(万元)");
		         row.add("中央投资(万元");
		         row.add("省市区自筹(万元");
		         row.add("建设里程(公里)");    
		         row.add("计划总投资(万元)");  
		         row.add("上级补助资金(万元)"); 
		         row.add("中央投资(万元");
		         row.add("省市区自筹(万元");
		         row.add("建设里程(公里)");    
		         row.add("计划总投资(万元)");  
		         row.add("上级补助资金(万元)");
		         row.add("中央投资(万元");
		         row.add("省市区自筹(万元");
		         row.add("建设里程(公里)");    
		         row.add("计划总投资(万元)");  
		         row.add("上级补助资金(万元)");
		         row.add("中央投资(万元");
		         row.add("省市区自筹(万元");
	        }
	        
	       tableContent.add(row); 
	                   
	    List planList = (List)session.getAttribute("planList");  
	    if (planList  == null){
	       
	       planList = getPlanHelper().getPlanListByCode(code,2); //根据编码取计划列表
	       System.out.println("=====planSize=======" + planList.size());
	    }
	    if (tableType == 3){
	    	  for (int i = 0; planList!= null && i < planList.size();i++){
	    		   List tempList = (List)planList.get(i);
	    		   String name = (String)tempList.get(0);
	    		   TotalDetail ti = (TotalDetail)tempList.get(1);
	    		   row = new ArrayList();  //表格内容行
	    		   row.add(name);
	    		   row.add(cu.getRound(ti.getJhlc1(),1)+"");
	    		   row.add(cu.getRound(ti.getJhtze1(),3)+"");
	    		   row.add(cu.getRound(ti.getJhsbe1(),3)+"");
	    		   row.add(cu.getRound(ti.getJhzytz1(),3)+"");
	    		   row.add(cu.getRound(ti.getJhzczj1(),3)+"");
	    		   
	    		   row.add(cu.getRound(ti.getJhlc2(),1)+"");
	    		   row.add(cu.getRound(ti.getJhtze2(),3)+"");
	    		   row.add(cu.getRound(ti.getJhsbe2(),3)+"");
	    		   row.add(cu.getRound(ti.getJhzytz2(),3)+"");
	    		   row.add(cu.getRound(ti.getJhzczj2(),3)+"");
	    		   
	    		   row.add(cu.getRound(ti.getJhlc3(),1)+"");
	    		   row.add(cu.getRound(ti.getJhtze3(),3)+"");
	    		   row.add(cu.getRound(ti.getJhsbe3(),3)+"");
	    		   row.add(cu.getRound(ti.getJhzytz3(),3)+"");
	    		   row.add(cu.getRound(ti.getJhzczj3(),3)+"");
	    		   
	    		   row.add(cu.getRound(ti.getJhlc4(),1)+"");
	    		   row.add(cu.getRound(ti.getJhtze4(),3)+"");
	    		   row.add(cu.getRound(ti.getJhsbe4(),3)+"");
	    		   row.add(cu.getRound(ti.getJhzytz4(),3)+"");
	    		   row.add(cu.getRound(ti.getJhzczj4(),3)+"");
	    		   tableContent.add(row);     
	    	  }
	    }else {
	    	try {
	    	String planType = "";
	    	String villageType = "";
	    	int count = planList.size();
	    	for (int j = 0; j < row.size(); j++) {
     		   	Label labelC = new jxl.write.Label(j, 0, (String) row.get(j), wcfFC);
     		   	ws.addCell(labelC);
     		   	}
	    for (int i = 0; planList!= null && i < count;i++){
	    	PlanDetail plan = (PlanDetail)planList.get(i);
	    	planType = "";
	    	villageType = "";
	    	  //1沟通建制村,2非沟通建制村,3县道土路,4县道砂石路
            if (plan.getPlanType() == 1) planType = "沟通建制村";
            if (plan.getPlanType() == 2) planType = "非沟通建制村";
            if (plan.getPlanType() == 3) planType = "县道土路";
            if (plan.getPlanType() == 4) planType = "县道砂石路";
            String [] viStr = plan.getVillageType().split(";");
            for (int j = 0; viStr != null && j < viStr.length;j++){
                if (viStr[j].equals("1") ) villageType += " 爱滋病村 ;";
                if (viStr[j].equals("2") ) villageType += " 民蔟村 ;";
                if (viStr[j].equals("3") ) villageType += " 干部挂职村 ;";
                if (viStr[j].equals("4") ) villageType += " 千村百镇示范村 ;";
                   
            } 
            if (villageType.length() > 0)
            villageType  = villageType.substring(0,villageType.length()-2); 
            
            String roadType = "";
            if (plan.getRoadSurfaceType() == 1) roadType = "沥青混凝土路面 ";
            if (plan.getRoadSurfaceType() == 2) roadType = "水泥混凝土路面";
            if (plan.getRoadSurfaceType() == 3) roadType = "简易铺装路面";
            if (plan.getRoadSurfaceType() == 4) roadType = "砂石路面";
            if (plan.getRoadSurfaceType() == 5) roadType = "石质路面";
            if (plan.getRoadSurfaceType() == 6) roadType = "渣石路面";
            if (plan.getRoadSurfaceType() == 7) roadType = "砖铺路面";
            if (plan.getRoadSurfaceType() == 8) roadType = "无路面";  
            
             row = new ArrayList();  //表格内容行
             if (tableType == 1){
              row.add(plan.getRoadName());  
              row.add(planType); 
              row.add(plan.getCityName());
              row.add(plan.getCountyName());
              row.add(plan.getVillageName());  
              row.add(villageType);    
              row.add(plan.getTownName());  
              row.add(plan.getMilemeter() + "");  
              row.add(plan.getRoadbedWidth() + "");
              row.add(plan.getRoadSurfaceWidth() + "");
              row.add(roadType);
              row.add(plan.getInvest() + "");
              row.add(plan.getProvinceSubsidy()+"");
              row.add(plan.getStartTime());
              row.add(plan.getEndTime()); 
             }
             if (tableType == 2){
                 row.add(plan.getCityName());  
                 row.add(plan.getCountyName());    
                 row.add(plan.getTownName());  
                 row.add(plan.getTownCout() + "");  
                 row.add(plan.getVillageCount() + "");
                 row.add(cu.getRound(plan.getMilemeter(),1)+"");
                 row.add(cu.getRound(plan.getInvest(),3) + "");
                 row.add(cu.getRound(plan.getZytz(),3)+"");
                 row.add(cu.getRound(plan.getSsqzc(),3)+"");
                 row.add(cu.getRound(plan.getProvinceSubsidy(),3)+"");
                
             }
     	   
     	
     		   	for (int j = 0; j < row.size(); j++) {
     		   	Label labelC = new jxl.write.Label(j, i+1, (String) row.get(j), wcfFC);
     		   	ws.addCell(labelC);
     		   	}
       		   
            // tableContent.add(row);               
	    }
		wwb.write();
//	   	关闭Excel工作薄对象
	    	wwb.close();
	}    catch (Exception e) {
		   	e.printStackTrace();
		   	}
	                   
	    } 	
	   	
	  
  if (tableType == 3){
	   	try {
	   	for (int i = 0; i < tableContent.size(); i++) {
	   	ArrayList row1 = (ArrayList) tableContent.get(i);
	   	for (int j = 0; j < row1.size(); j++) {
	   	Label labelC = new jxl.write.Label(j, i, (String) row1.get(j), wcfFC);
	   	ws.addCell(labelC);
	   	}
	   	}
//	   	写入Exel工作表
	   	wwb.write();
//	   	关闭Excel工作薄对象
	   	wwb.close();
	   	} catch (Exception e) {
	   	e.printStackTrace();
	   	}
  }
	      
	      return actionMapping.findForward("refresh");
        
        
    }

}


⌨️ 快捷键说明

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