JAVA 導出Excel 表代碼教程

package util;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.apache.shiro.SecurityUtils;
import org.apache.shiro.subject.Subject;

import com.tgb.entity.User;
import com.tgb.vo.ExportPlInoutReportHeads;

/**
 * @author Lu Kongwen
 * @version Create time:2016-10-10 下午4:41:20
 * @Description
 */
public class ExportHeadsUtils {

	public static List<ExportPlInoutReportHeads> getExportPlInoutReportHeads(HttpServletRequest request) {

		List<ExportPlInoutReportHeads> heads = new ArrayList<ExportPlInoutReportHeads>();

		ExportPlInoutReportHeads exportPlInoutReportHeads = new ExportPlInoutReportHeads();

		exportPlInoutReportHeads.setIr_in_time_begin_time(request.getParameter("ir_in_time_begin_time"));
		exportPlInoutReportHeads.setIr_in_time_end_time(request.getParameter("ir_in_time_end_time"));

		exportPlInoutReportHeads.setIr_out_time_begin_time(request.getParameter("ir_out_time_begin_time"));
		exportPlInoutReportHeads.setIr_out_time_end_time(request.getParameter("ir_out_time_end_time"));

		String ir_num = request.getParameter("ir_num");
		String ir_in_operator = request.getParameter("ir_in_operator");
		String ir_out_operator = request.getParameter("ir_out_operator");

		try {
			if (StringUtils.nonEmpty(ir_num)) {
				ir_num = URLDecoder.decode(ir_num, "UTF-8");
			}
			if (StringUtils.nonEmpty(ir_in_operator)) {
				ir_in_operator = URLDecoder.decode(ir_in_operator, "UTF-8");
			}
			if (StringUtils.nonEmpty(ir_out_operator)) {
				ir_out_operator = URLDecoder.decode(ir_out_operator, "UTF-8");
			}

		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}

		exportPlInoutReportHeads.setIr_num(ir_num);
		exportPlInoutReportHeads.setIr_in_operator(ir_in_operator);
		exportPlInoutReportHeads.setIr_out_operator(ir_out_operator);

		Subject subject = SecurityUtils.getSubject();
		User user = (User) subject.getPrincipal();

		exportPlInoutReportHeads.setExport_operator(user.getFull_name());
		exportPlInoutReportHeads.setExport_time(TimeUtils.getyyyyMMddHHMMStringByDate(new Date()));

		heads.add(exportPlInoutReportHeads);

		return heads;
	}
}
@RequestMapping(value = "exportExcptionInvoiceUseDetailRecords", method = RequestMethod.GET)
	public void exportExcptionCarTypeDetailRecords(HttpServletRequest request, HttpServletResponse response,Invoice invoice,
													TimeCompare timeCompare,
													Map<String, Object> map,Integer userID) throws Exception {
		List<ExportPlInoutReportHeads> heads = ExportHeadsUtils.getExportPlInoutReportHeads(request);

		List<String> l = new ArrayList<String>();
		Field filed = new Field();
		l.add(" invoice_status = 2");
		ToolsBarUtils.getInvoiceSearchCondition(invoice,timeCompare,userID, l, filed);

		List<Invoice> InvoiceVoList = invoiceService.findInvoiceAndUseRecordNOPage(l, filed);

		ExportUtils.exportExcel(response, heads, InvoiceVoList, "發票使用情況詳細報表.xls", "template-excptionInvoiceUse.xls");

	}
package util;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import oracle.sql.TIMESTAMP;

/**
 * 數據庫字段定義
 * 
 @Author 
 * @Date 2015-9-22
 * @Version 1.0
 * @Remark
 */
public class Field {
	private List<FieldVo> m_aParam = new ArrayList<FieldVo>();

	public Field addStr(String sValue) {
		return addStr(null, sValue);
	}

	public Field addStr(String sKey, String sValue) {
		m_aParam.add(new FieldVo(sKey, sValue, java.sql.Types.VARCHAR));
		return this;
	}

	public Field addStrL(String sValue) {
		return addStrL(null, sValue);
	}

	public Field addStrL(String sKey, String sValue) {
		m_aParam.add(new FieldVo(sKey, sValue, java.sql.Types.CLOB));
		return this;
	}

	public Field addInt(int nValue) {
		return addInt(null, nValue);
	}

	public Field addInt(String sKey, int nValue) {
		m_aParam.add(new FieldVo(sKey, nValue, java.sql.Types.INTEGER));
		return this;
	}

	public Field addFloat(float nValue) {
		return addFloat(null, nValue);
	}

	public Field addFloat(String sKey, float nValue) {
		m_aParam.add(new FieldVo(sKey, nValue, java.sql.Types.FLOAT));
		return this;
	}

	public Field addDouble(double nValue) {
		return addDouble(null, nValue);
	}

	public Field addDouble(String sKey, double nValue) {
		m_aParam.add(new FieldVo(sKey, nValue, java.sql.Types.DOUBLE));
		return this;
	}

	public Field addDateTime(long time) {
		return addDateTime(null, time);
	}

	public Field addDateTime(String sKey, long time) {
		m_aParam.add(new FieldVo(sKey, time, java.sql.Types.TIMESTAMP));
		return this;
	}
	
	public Field addDate(String s) {
		return addDate(null, s);
	}

	public Field addDate(String sKey, String s) {
		m_aParam.add(new FieldVo(sKey, s, java.sql.Types.DATE));
		return this;
	}

	/****
	 * 根據key 獲取查找字段 如果查找不到 則返回null
	 * 
	 * @param fKey
	 * @return
	 */
	public FieldVo getByKey(String fKey) {
		for (FieldVo fv : m_aParam) {
			if (fv != null && fv.m_sKey.equals(fKey))
				return fv;

		}
		return null;
	}

	public List<FieldVo> getFields() {
		return m_aParam;
	}

	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();
		for (int i = 0; i < m_aParam.size(); i++) {
			sb.append(m_aParam.get(i).m_sKey).append(":")
					.append(m_aParam.get(i).m_oValue).append("|");
		}
		return sb.toString();
	}
}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章