Java读取、创建Excel;验签,加密

需要架包:poi相关jar,Md5.jar
----------------------------------------------------------------------------------------------------------------------------------
package com.fanqi.test;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.json.JSONArray;
import org.json.JSONObject;

public class TestDemo1 {
	
	/*
	 * 读取Excel数据
	 */
	public List<Map<String, Object>> readExcel(String filename) {
		
		FileInputStream in;
		XSSFWorkbook workbook = null;
		try {
			in = new FileInputStream(filename);
			workbook = new XSSFWorkbook(in);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		XSSFSheet sheet = workbook.getSheetAt(0);
		int num = 0;
		List<Map<String, Object>> listCanshu = new ArrayList<Map<String, Object>>();
			for(int i=1;i<=sheet.getLastRowNum();i++){
				Map<String, Object> map = new TreeMap<String, Object>();
				String  cell0 = sheet.getRow(i).getCell(0).getStringCellValue();
				String  cell1 = sheet.getRow(i).getCell(1).getStringCellValue();
				map.put("canshu1", cell0);
				map.put("canshu2", cell1);
				listCanshu.add(map);
		}
			return listCanshu;	
	}
	/*
	 * 组装成JSON形式
	 */
	public JSONArray zuZhuangCanShu(List<Map<String, Object>> listCanshu) {
		
		JSONArray jArray = new JSONArray();
		for(int i=0;i<listCanshu.size();i++ ){
			JSONObject json = new JSONObject(listCanshu.get(i));
			jArray.put(json);
		}
		return jArray;		
	}
	/*
	 * 验签,加密
	 */
	public List signMD5(List<Map<String, Object>> l) {
		
		List list = new ArrayList();
		for(int i=0;i<l.size();i++){
			String str = "";
			StringBuffer buffer = null;
			byte[] result = null;
			Set set = l.get(i).entrySet();
			Iterator it = set.iterator();
			while(it.hasNext()){
				Map.Entry mapEntry = (Map.Entry) it.next();
				String key = (String) mapEntry.getKey();
				String value = (String) mapEntry.getValue();
				str = str + key + "=" + value + "&";
			}
			str = str.substring(0, str.length()-1);
			try {
				MessageDigest md = MessageDigest.getInstance("MD5");
				result = md.digest(str.getBytes());
				buffer = new StringBuffer();
				for(byte r : result){
					String s =Integer.toHexString(0xff & r);
					if(s.length()==1){
						buffer.append("0"+s);
					}else{
						buffer.append(s);
					}
				}
				
			} catch (NoSuchAlgorithmException e) {
				e.printStackTrace();
			}
			list.add(buffer.toString());
		}
		
		return list;	
	}
	
	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		TestDemo1 t = new TestDemo1();
		List<Map<String, Object>> l = t.readExcel("D:\\1.xlsx");
		JSONArray jArray = t.zuZhuangCanShu(l);		
		List list = t.signMD5(l);
		System.out.println(list.get(0));
		System.out.println(list.get(1));
		System.out.println(list.get(2));
	}

}

 

 

 

 

posted on 2016-12-14 19:46  我要的明天  阅读(1681)  评论(0编辑  收藏  举报

导航