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));
} }
Java读取、创建Excel;验签,加密的更多相关文章
- java读取大容量excel之二(空格、空值问题)
最近在项目中发现,对于Excel2007(底层根本是xml) ,使用<java读取大容量excel之一>中的方式读取,若待读取的excel2007文件中某一列是空值,(注意,所谓的空值是什 ...
- ios RSA 验签加密解密
关于公钥和私钥的生成,网上有很多本地生产的方法,我遇到的问题是,按照网上生产的方式生成7个文件,本地使用没有问题,但是和后台交互就不行了. 发现生成公钥和私钥的没有那么麻烦,使用在线生产工具就能使用, ...
- java读取大容量excel之一
最近在用poi读取大容量excel,发现只要是excel文件大于2M左右,便会出现OOM(out of memory),经过查询得知,原来poi读取excel的原理是如下: org.apache.po ...
- 证书:数字签名和验签&加密和解密
用的是湖北省数字证书认证管理中心的签名和加密 1.带私钥的证书,即p12格式证书(后缀为.pfx) 2.不带私钥的证书,有多种格式,通常我们使用的是cer格式证书(后缀为.cer) 一. 1.什么是对 ...
- java - 读取,导出 excel文件数据
首先需下载poi java包,添加至构建路径, 写处理方法: import java.io.FileInputStream;import java.io.FileOutputStream;import ...
- java POI创建Excel示例(xslx和xsl区别 )
Java用来处理office类库有很多,其中POI就是比较出名的一个,它是apache的类库,现在版本到了3.10,也就是2014年2月8号这个版本. 在处理PPT,Excel和Word前,需要导入以 ...
- Java读取批量Excel文件
1.首先基础知识: 原文链接:https://blog.csdn.net/baidu_39298625/article/details/105842725 一 :简介 开发中经常会设计到excel的处 ...
- JAVA实现创建Excel表并导出(转发)
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;line-height:25.2px;background ...
- jmeter接口测试-调用java的jar包-csv参数化请求-BeanShellPreProcessor生成验签作为请求验证参数-中文乱码----实战
背景及思路: 需求:要做 创建新卡 接口的测试,要求: 1. 不需要每次手动修改请求参数. 方案:文中先用excle将数据准备好,导出为csv格式,再用jmeter的csv请求进行参数化 2. 卡号需 ...
- JAVA/PHP/C#版RSA验签--转
本文是上一篇文章的兄弟篇,上篇文章介绍了客户端的sdk中如何基于JAVA/PHP/C#使用RSA私钥签名,然后服务端基于JAVA使用RSA公钥验签,客户端签名/服务端验签的模式只能帮助服务端检查客户端 ...
随机推荐
- 设置iptables允许ssh、http、ftp服务
系统环境:centos-6.5 服务器:thinkserver 知识扫盲: NEW:这个包是我们看到的第一个包 ESTABLISHED:一个连接要从NEW变 为ESTABLISHED,只需要接到应答包 ...
- Web App、Hybrid App、Native APP对比
- yum安装Apache,Mysql,PHP
用yum安装Apache,Mysql,PHP. 用yum安装Apache,Mysql,PHP. 2.1安装Apache yum install httpd httpd-devel 安装完成后,用/e ...
- 点滴积累【other】---存储过程修改表的所有字段(sql)
USE [QG_Mis24] GO /****** Object: StoredProcedure [dbo].[p_set] Script Date: 07/11/2013 17:05:38 *** ...
- java+lucene中文分词,来看看百度究竟是怎么找到你想要的(十分重要,楼主幸苦之作)
我想只要是学过数据库的孩纸,不管是mysql,还是sqlsever,一提到查找,本能的想到的便是like关键字,其实去转盘网(分类模式)之前也是采用这种算法,但我可以告诉大家一个很不幸的事情,like ...
- linux2.6内核netfilter架构分析
1.2.6内核的netfilter与2.4的有很大不同: ChangeLog-2.6.15 中有下面这样的描述: commit 9fb9cbb1082d6b31fb45aa1a14432449a0df ...
- eclipse JavaEE版"javax.servlet.http.HttpServlet" was not found on the Java Build Path问题的解决办法
使用eclipse JavaEE 版,新建 Dynamic Web Project 项目.在项目里添加 JSP 文件,会在文件头部出现错误提示.提示语句为:The superclass "j ...
- [Buzz Today]2013.08.18
# Go 语言实现memcached:groupcache memcached作者Brad Fitzpatrick用Go语言重新实现了memcached. groupcache继承了memcached ...
- 第一百五十六节,封装库--JavaScript,延迟加载
封装库--JavaScript,延迟加载 延迟加载的好处,就是在浏览器视窗外的图片,不加载,拖动鼠标到浏览器视窗内后加载,用户不看的图片就不用加载,可以减少服务器大量流量 将图片的src地址用一张统一 ...
- 日期类Date
Java在日期类中封装了有关日期和时间的信息,用户可以通过调用相应的方法来获取系统时间或设置日期和时间.Date类中有很多方法在JDK1.0公布后已经过时了,在8.3中我们将介绍JDK1.0中新加的用 ...