tixingoutput.java

来自「管理公司合同」· Java 代码 · 共 229 行

JAVA
229
字号
/*
 * Created on 2006-8-29 15:04:08
 *
 * By SinoBest
 * Copyright hnisi.com.cn, 2005-2006, All rights reserved.
 */

package cn.com.juneng.system.common;

import java.io.OutputStream;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import cn.com.juneng.system.common.util.SimpleDAO;
import jxl.Workbook;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;



/**
 * @author yehailong
 * 
 */

public class TixingOutput implements DownObject {

	private HttpServletRequest request = null;

	private String sheetName = null;

	public void createOutStream(OutputStream sos,
			HttpServletRequest request) throws Exception {

		WritableWorkbook wwb = Workbook.createWorkbook(sos);
		WritableSheet ws = wwb.createSheet(sheetName, 0);
		String leibie="";
		leibie=request.getParameter("leibie");
		ColumnInfo[] columns=null;
		// 需要显示的字段定义
		 if(leibie.equalsIgnoreCase("3")){
				columns = new ColumnInfo[] {
						new ColumnInfo("XM", "姓名"),
						new ColumnInfo("TMP3", "身份证号"),
						new ColumnInfo("TMP4", "参加考核时间"),
						new ColumnInfo("TXLX","提醒类型"),
						new ColumnInfo("TMP1","年度")};			
			}else if(leibie.equalsIgnoreCase("5")){
				columns = new ColumnInfo[] {
						new ColumnInfo("XM", "姓名"),
						new ColumnInfo("TMP3", "身份证号"),
						new ColumnInfo("TMP4", "参加工作时间"),
						new ColumnInfo("TXLX","提醒类型"),
						new ColumnInfo("TMP1","年度"),
						new ColumnInfo("TMP2","工龄假天数")};			
			}else if(leibie.equalsIgnoreCase("7")){
				columns = new ColumnInfo[] {
						new ColumnInfo("XM", "姓名"),
						new ColumnInfo("TMP3", "身份证号"),
						new ColumnInfo("TMP4", "出生日期"),
						new ColumnInfo("TXLX","提醒类型"),
						new ColumnInfo("TMP1","年度")};		
			}else if(leibie.equalsIgnoreCase("8")){
				columns = new ColumnInfo[] {
						new ColumnInfo("XM", "姓名"),
						new ColumnInfo("TMP3", "身份证号"),
						new ColumnInfo("TMP4", "参加工作时间"),
						new ColumnInfo("TXLX","提醒类型"),
						new ColumnInfo("TMP1","年度"),
						new ColumnInfo("TMP2","工龄年数")};
			}else {
				columns = new ColumnInfo[] {
						new ColumnInfo("XM", "姓名"),
						new ColumnInfo("TMP3", "身份证号"),
						new ColumnInfo("TMP4", "参加工作时间"),
						new ColumnInfo("TXLX","提醒类型"),
						new ColumnInfo("TMP1","年度")};
			}	
		

		// 显示头
		for (int i = 0; i < columns.length; i++) {
			ColumnInfo info = columns[i];
			ExcelUtil.addCell(ws, i, 0, info.getColumnDesc(), null);
		}

		// 显示数据
		List list = this.getBaseallInfo(leibie);
		for (int j = 0; j < list.size(); j++) {
			Map values = (Map) list.get(j);
			for (int i = 0; i < columns.length; i++) {
				ColumnInfo info = columns[i];
				String columnName = info.getColumnName();
				String str = values.get(columnName)==null?"":values.get(columnName).toString();				
				if(columnName.equals("TXLX")){
				    String leixingtype="";
				   if(str.equals("1"))
				       leixingtype="职工生日";
				   else if(str.equals("2"))
			          leixingtype="职工退休";
			       else if(str.equals("3"))
			          leixingtype="岗位考核";
			       else if(str.equals("4"))
			          leixingtype="合同到期";
			       else if(str.equals("5"))
			          leixingtype="工龄假期";
			       else if(str.equals("6"))
			          leixingtype="满45岁";
			       else if(str.equals("7"))
			         leixingtype="独生子女";
			       else if(str.equals("8"))
			         leixingtype="工龄5倍";
			       else if(str.equals("9"))
			        leixingtype="薪点复归";
				   else 
				     leixingtype="不明";				    
				   ExcelUtil.addCell(ws, i, j + 1, leixingtype+"提醒",null);				
				}else{
				  ExcelUtil.addCell(ws, i, j + 1, str,
							null);
				} 
			}
		}
		wwb.write();
		wwb.close();

	}

	public String getFileName() {
		Timestamp time = new java.sql.Timestamp(System.currentTimeMillis());
		SimpleDateFormat sdfInput = new SimpleDateFormat("yyyy-MM-dd");
		return "职工信息" + sdfInput.format(time) + ".xls";
	}
	
	public String getFileName(HttpServletRequest request) {
		Timestamp time = new java.sql.Timestamp(System.currentTimeMillis());
		SimpleDateFormat sdfInput = new SimpleDateFormat("yyyy-MM-dd");
		String leibie="";
		String filename="";
		leibie=request.getParameter("leibie");
		if(leibie.equalsIgnoreCase("1")){
		 filename="职工生日提醒";	
		}else if(leibie.equalsIgnoreCase("2")){
		 filename="职工退休提醒";	
		}else if(leibie.equalsIgnoreCase("3")){
		 filename="职工岗位考核提醒";	
		}else if(leibie.equalsIgnoreCase("4")){
		 filename="职工合同到期提醒";	
		}else if(leibie.equalsIgnoreCase("5")){
		 filename="职工工龄假期提醒";	
		}else if(leibie.equalsIgnoreCase("6")){
		 filename="职工满45岁提醒";	
		}else if(leibie.equalsIgnoreCase("7")){
		 filename="职工独生子女生日提醒";	
		}else if(leibie.equalsIgnoreCase("8")){
		 filename="职工工龄满5年周期提醒";	
		}else if(leibie.equalsIgnoreCase("9")){
		 filename="优秀职工薪点复归提醒";	
		}else {
			filename="不明提醒";		
		}	
	   return filename + sdfInput.format(time) + ".xls";
	}

	public String getContentType() {
		return "application/vnd.ms-excel;charset=GBK";
	}

	public String getDownMode() {
		// TODO Auto-generated method stub
		return null;
	}

	public void setRequest(HttpServletRequest request) {
		this.request = request;
		String leibie="";
		String filename="";
		leibie=request.getParameter("leibie");
		if(leibie.equalsIgnoreCase("1")){
		 filename="职工生日提醒";	
		}else if(leibie.equalsIgnoreCase("2")){
		 filename="职工退休提醒";	
		}else if(leibie.equalsIgnoreCase("3")){
		 filename="职工岗位考核提醒";	
		}else if(leibie.equalsIgnoreCase("4")){
		 filename="职工合同到期提醒";	
		}else if(leibie.equalsIgnoreCase("5")){
		 filename="职工工龄假期提醒";	
		}else if(leibie.equalsIgnoreCase("6")){
		 filename="职工满45岁提醒";	
		}else if(leibie.equalsIgnoreCase("7")){
		 filename="职工独生子女生日提醒";	
		}else if(leibie.equalsIgnoreCase("8")){
		 filename="职工工龄满5年周期提醒";	
		}else if(leibie.equalsIgnoreCase("9")){
		 filename="优秀职工薪点复归提醒";	
		}else {
			filename="不明提醒";		
		}	
		Timestamp time = new java.sql.Timestamp(System.currentTimeMillis());
		SimpleDateFormat sdfInput = new SimpleDateFormat("yyyy-MM-dd");
		this.sheetName = filename + sdfInput.format(time);
	}

	/**
	 * 从数据库取vbaseallinfo表信息
	 * 
	 * @return
	 */
	public List getBaseallInfo(String leibie) {
		// 从数据库里读出vbaseallinfo表数据
		String sql = "";
		sql=" select * from tixing where  sfcl='2' ";
		if(!COMMON.isEmpty(leibie))
			sql+=" and txlx='"+leibie+"'";
		try {
			return SimpleDAO.query(sql);
		} catch (Exception exc) {
			String sErrorMsg = "UserJXL:getBaseallInfo() - " + exc;
		}
		return null;
	}
	
	
}

⌨️ 快捷键说明

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