亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

springmvc導出execl操作

2019-11-06 06:05:25
字體:
來源:轉載
供稿:網友
	/**	 * 導入訂單Excel(需poi包)	 * @param request	 * @param model	 * @return	 */	@RequestMapping(value = "/exportExcel", method = RequestMethod.POST)	public String exportExcel(HttpServletRequest request, Model model) {		try {			Map<String, Object> map = dtPageSearchParams(request);			List<OrderVo> orderList = orderService.findListByParam(map);			DtExcelMap excel = DtExcelMap.getExcelMap("訂單列表", new String[] { "ID","訂單編號","迪迪序列", "是否匿名", "訂單狀態", "借款人",					"手機號", "借款類型", "借款地點-省", "借款地點-市", "借款金額", "借款期限", "訂單詳細介紹","撤單原因", "創建時間" }, orderList,					new String[] { "id","orderNo","orderSerialNumber", "anonymousFlagView", "statusView", "realName", "mobile", "typeView",					"PRovinceName", "cityName", "amount", "period", "orderDesc","cancelVal", "createTime" });			model.addAttribute("map", excel);			return EXCELVIEW;//protected final String EXCELVIEW = "excelView";		} catch (Exception e) {			log.error("導出excel失?。?quot; + e);		}		return null;	}

import java.util.Date;import java.util.List;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.springframework.web.servlet.view.document.AbstractExcelView;import com.xhh.kdw.ms.tool.DateUtil;import com.xhh.kdw.ms.tool.DtExcelMap;import com.xhh.kdw.ms.tool.ReflectUtil;public class KDWExcelView extends AbstractExcelView {	@Override	protected void buildExcelDocument(Map<String, Object> model, HSSFWorkbook workbook,			HttpServletRequest request, HttpServletResponse response) throws Exception {		// 從model對象中獲取excel所需數據		DtExcelMap map = (DtExcelMap) model.get("map");		// 創建Excel的sheet		String name = map.getExcelName();		HSSFSheet sheet = workbook.createSheet(name);		// 創建標題行		HSSFRow header = sheet.createRow(0);		String[] titles = map.getTitles();		int cell = 0;		for (String title : titles) {			header.createCell(cell).setCellValue(title);			cell++;		}		// 填充數據		int rowNum = 1;		List<?> models = map.getModels();		String[] fileds = map.getFields();		for (Object model2 : models) {			HSSFRow row = sheet.createRow(rowNum);			String cellValue = null;			for (int i = 0; i < fileds.length; i++) {				String fieldName = fileds[i];				Object result = ReflectUtil.invokeGetter(model2, fieldName);				cellValue = ReflectUtil.toString(result);				// 如果是日期類型則進行格式化處理				if (ReflectUtil.isDateType(model2.getClass(), fieldName)) {					cellValue = DateUtil.Date2Stirng2Second((Date) result);				}				row.createCell(i).setCellValue(cellValue);			}			rowNum++;		}		response.setHeader("Content-Disposition",				"attachment;filename=" + new String((name + ".xls").getBytes(), "ISO-8859-1"));	}}

package com.xhh.kdw.ms.tool;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.util.Date;/** * 反射工具類 */public class ReflectUtil {	/**	 * 反射調用指定構造方法創建對象	 * 	 * @param clazz	 *            對象類型	 * @param argTypes	 *            參數類型	 * @param args	 *            構造參數	 * @return 返回構造后的對象	 * @throws SecurityException	 * @throws NoSuchMethodException	 * @throws InvocationTargetException	 * @throws IllegalArgumentException	 * @throws IllegalaccessException	 * @throws InstantiationException	 * 	 */	public static <T> T invokeConstructor(Class<T> clazz, Class<?>[] argTypes, Object[] args)			throws NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException,			IllegalArgumentException, InvocationTargetException {		Constructor<T> constructor = clazz.getConstructor(argTypes);		return constructor.newInstance(args);	}	/**	 * 反射調用指定對象屬性的getter方法	 * 	 * @param <T>	 *            泛型	 * @param target	 *            指定對象	 * @param fieldName	 *            屬性名	 * @return 返回調用后的值	 * @throws SecurityException	 * @throws NoSuchMethodException	 * @throws InvocationTargetException	 * @throws IllegalArgumentException	 * @throws IllegalAccessException	 * 	 */	public static <T> Object invokeGetter(T target, String fieldName) throws NoSuchMethodException,			SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {		// 如果屬性名為xxx,則方法名為getXxx		String methodName = "get" + StringUtil.firstCharUpperCase(fieldName);		Method method = target.getClass().getMethod(methodName);		return method.invoke(target);	}	/**	 * 反射調用指定對象屬性的setter方法	 * 	 * @param <T>	 *            泛型	 * @param target	 *            指定對象	 * @param fieldName	 *            屬性名	 * @param argTypes	 *            參數類型	 * @param args	 *            參數列表	 * @throws SecurityException	 * @throws NoSuchFieldException	 * @throws NoSuchMethodException	 * @throws InvocationTargetException	 * @throws IllegalArgumentException	 * @throws IllegalAccessException	 * 	 */	public static <T> void invokeSetter(T target, String fieldName, Object args) throws NoSuchFieldException,			SecurityException, NoSuchMethodException, IllegalAccessException, IllegalArgumentException,			InvocationTargetException {		// 如果屬性名為xxx,則方法名為setXxx		String methodName = "set" + StringUtil.firstCharUpperCase(fieldName);		Class<?> clazz = target.getClass();		Field field = clazz.getDeclaredField(fieldName);		Method method = clazz.getMethod(methodName, field.getType());		method.invoke(target, args);	}	@SuppressWarnings("unchecked")	public static <T> boolean isDateType(Class<T> clazz, String fieldName) {		boolean flag = false;		Field field = null;		boolean noSuchFiled = true;		do {			try {				field = clazz.getDeclaredField(fieldName);				Object typeObj = field.getType().newInstance();				flag = typeObj instanceof Date;				noSuchFiled = false;			} catch (NoSuchFieldException e) {				clazz = (Class<T>) clazz.getSuperclass();			} catch (Exception e) {				// 除了NoSuchFieldException這個異常,其他直接跳出循環				noSuchFiled = false;			}		} while (noSuchFiled && clazz != Object.class);		// try {		// Field field = clazz.getField(fieldName);		// field.setAccessible(true);		// Object typeObj = field.getType().newInstance();		// flag = typeObj instanceof Date;		// } catch (Exception e) {		// e.printStackTrace();		// }		return flag;	}	public static String toString(Object object) {		StringBuffer buffer = new StringBuffer();		if (object != null) {			buffer.append(object);		}		return buffer.toString();	}}

<bean name="excelView" class="com.xhh.kdw.ms.view.KDWExcelView"/>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲视频一区二区三区| 欧美午夜丰满在线18影院| 亚洲欧洲偷拍精品| 欧美综合国产精品久久丁香| 国产成人精品综合| 亚洲free嫩bbb| 国产精品自产拍高潮在线观看| 色偷偷综合社区| 亚洲淫片在线视频| 久久综合久久美利坚合众国| 亚洲精品大尺度| 亚洲精品98久久久久久中文字幕| 91丨九色丨国产在线| 欧美专区在线视频| 亚洲第一精品夜夜躁人人爽| 国产亚洲精品一区二555| 久久夜精品va视频免费观看| 日本一区二区不卡| 久久影视电视剧免费网站| 57pao国产成人免费| 亚洲精品电影久久久| 亚洲资源在线看| 成人在线播放av| 亚洲激情在线观看| 在线播放国产精品| 激情懂色av一区av二区av| 午夜精品久久久久久久男人的天堂| 久久久国产91| 92福利视频午夜1000合集在线观看| 欧美高清电影在线看| 欧美电影院免费观看| 国产婷婷成人久久av免费高清| 欧美精品在线观看91| 亚洲国产中文字幕久久网| 国产色综合天天综合网| 97色在线播放视频| 亚洲国产精品va在线看黑人动漫| 国产日韩欧美夫妻视频在线观看| 欧美日韩在线观看视频小说| 日韩精品极品视频| 欧美巨猛xxxx猛交黑人97人| 亚洲色图国产精品| 91九色国产在线| 亚洲午夜激情免费视频| 国产欧美亚洲视频| 国产精品色午夜在线观看| 在线免费看av不卡| 国产精品入口夜色视频大尺度| 久久久av一区| 黑丝美女久久久| 成人有码视频在线播放| 国产精品国产福利国产秒拍| 一本色道久久88综合亚洲精品ⅰ| 成人免费观看49www在线观看| 久热精品在线视频| 久久亚洲成人精品| 欧美最猛性xxxxx(亚洲精品)| 色噜噜久久综合伊人一本| 欧洲精品毛片网站| 亚洲精品日韩在线| 亚洲国语精品自产拍在线观看| 成人国产精品日本在线| 国产亚洲一级高清| 亚洲mm色国产网站| 国内精品久久久久久影视8| 中文字幕视频在线免费欧美日韩综合在线看| 日韩欧美一区二区三区久久| 精品电影在线观看| 超碰日本道色综合久久综合| 午夜精品一区二区三区视频免费看| 欧美日韩国产999| 国产成人精品日本亚洲| 亚洲第一区第二区| 日本精品久久久久久久| 色综合视频一区中文字幕| 2023亚洲男人天堂| 久久久久99精品久久久久| 国产精品扒开腿做爽爽爽男男| 成人欧美一区二区三区在线湿哒哒| 国产精品视频免费在线| 亚洲2020天天堂在线观看| 一区二区三区四区视频| 中文字幕自拍vr一区二区三区| 亚洲变态欧美另类捆绑| 日韩视频免费观看| 亚洲美女在线观看| 美女精品久久久| 中文字幕精品久久| 亚洲精选中文字幕| 欧美日韩国产精品一区二区三区四区| 国产亚洲精品日韩| 国产精品日韩欧美综合| 精品久久久久久中文字幕一区奶水| 国产不卡av在线免费观看| 亚洲天堂av高清| 91久久久在线| 国产精品久久色| 亚洲成人黄色网址| 国产欧美日韩中文字幕| 亚洲乱码国产乱码精品精天堂| 国产精品狠色婷| 国产美女扒开尿口久久久| 久久久电影免费观看完整版| 国产精品黄色av| 国产福利视频一区二区| 亚洲福利视频二区| 国产精品第七影院| 91精品免费久久久久久久久| 4p变态网欧美系列| 欧美亚洲激情在线| 91wwwcom在线观看| 91精品啪aⅴ在线观看国产| 欧美午夜视频一区二区| 成人写真福利网| 国产午夜精品视频| 日韩精品久久久久久久玫瑰园| 精品日本高清在线播放| 日韩电影中文字幕| 91产国在线观看动作片喷水| 欧美香蕉大胸在线视频观看| 国产美女主播一区| 中文字幕不卡在线视频极品| 久久成人这里只有精品| 久久黄色av网站| 亚洲视频国产视频| 福利一区视频在线观看| 亚洲精品电影久久久| 操日韩av在线电影| 久热国产精品视频| 中文日韩电影网站| 亚洲最大的av网站| 成人www视频在线观看| 国产精品视频自在线| 91大神福利视频在线| 欧美激情精品久久久久久免费印度| 国产精品扒开腿做| 成人免费激情视频| 日韩禁在线播放| 久久天天躁狠狠躁夜夜躁| 17婷婷久久www| 日韩精品视频在线播放| 欧洲永久精品大片ww免费漫画| 亚洲系列中文字幕| 亚洲国产精久久久久久| 91精品久久久久久久久不口人| 国产在线a不卡| 精品久久久久人成| 国产精品看片资源| 国产精品成av人在线视午夜片| 国产+成+人+亚洲欧洲| 欧洲亚洲在线视频| 高清欧美一区二区三区| 日韩精品久久久久久久玫瑰园| 91美女福利视频高清| 国产成人av网址| 色综合久综合久久综合久鬼88| 色综合天天狠天天透天天伊人| 国产精品v片在线观看不卡| 91精品国产色综合久久不卡98| 最近免费中文字幕视频2019| 欧美在线视频观看免费网站| 久久精品福利视频| xvideos亚洲人网站| 欧美激情综合亚洲一二区|