本文共 9098 字,大约阅读时间需要 30 分钟。
package com.bjyj.peixunzhongxin;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.xml.crypto.Data;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import com.eos.engine.component.ILogicComponent;
import com.eos.system.annotation.Bizlet;
import com.primeton.ext.engine.component.LogicComponentFactory;
import commonj.sdo.DataObject;
/**
* @author 李新亮
* @date 2017-1-18 10:07:18
*
*/
public class Insert_XueYuanXX {
@Bizlet
public static String XinZengRenYuan(String path,DataObject[] SuoYouYongHu){
String ZhangH ="";
String TiShi = "";
//文件名末尾的 去除空格 并去除换行 空格
path=path.trim();
if(path == null || "".equals(path)){
}
Object[] objs = null ;
Workbook workbook = null;
try {
workbook = Workbook.getWorkbook(new File(path));
//用下标获得第一行数据Sheet sheet = workbook.getSheet(0);
//获取带数据的所有行int length = sheet.getRows();
String names="";
String sexs="";
String mzs="";
String sfzhs="";
String lxdhs="";
String sfsyzjjs="";
String dwmcs="";
String csrqs="";
String xzzws="";
String cjgzsjs="";
String zyjss="";
String zgxls="";
String bysjs ="";
String byxxs ="";
String zys ="";
String yxs ="";
String zhanghaos ="";
String bianhaoss="";
for(int i=0;i<length-1;i++){
//账号信息
Cell zhanghao = sheet.getCell(0, 1+i);
// 获取姓名 学员信息
Cell name = sheet.getCell(1, 1+i);
// 获取 性别
Cell sex = sheet.getCell(2, 1+i);
Cell mz = sheet.getCell(3, 1+i);
Cell sfzh = sheet.getCell(4, 1+i);
Cell lxdh=sheet.getCell(5, 1+i);
Cell sfsyzjj=sheet.getCell(6, 1+i);
Cell dwmc=sheet.getCell(7, 1+i);
Cell csrq=sheet.getCell(8, 1+i);
Cell xzzw=sheet.getCell(9, 1+i);
Cell cjgzsj=sheet.getCell(10, 1+i);
Cell zyjs=sheet.getCell(11, 1+i);
Cell zgxl=sheet.getCell(12, 1+i);
Cell bysj=sheet.getCell(13, 1+i);
Cell byxx=sheet.getCell(14, 1+i);
Cell zy=sheet.getCell(15, 1+i);
Cell yx=sheet.getCell(16, 1+i);
// 如果10列有一行没有值,这一行,不添加
if("".equals(name.getContents()) && "".equals(sex.getContents()) &&"".equals(mz.getContents())&&
"".equals(sfzh.getContents())&& "".equals(lxdh.getContents()) && "".equals(sfsyzjj.getContents())
&& "".equals(dwmc.getContents())&& "".equals(csrq.getContents())&& "".equals(xzzw.getContents())
&& "".equals(cjgzsj.getContents())){
continue;
}
//如果有必填项未填写,记下这一行的标号,最后提醒这一行有未填写的
if("".equals(zhanghao.getContents())){
int o = i+2;
TiShi = "第"+ o+"行账号为空";
break;
}if("".equals(name.getContents())){
int o = i+2;
TiShi = "第"+ o+"行有姓名为空";
break;
}
if("".equals(sex.getContents())){
int o = i+2;
TiShi = "第"+ o+"行性别为空";
break;
}
if("".equals(mz.getContents())){
int o = i+2;
TiShi = "第"+ o+"行民族为空";
break;
}
if("".equals(sfzh.getContents())){
int o = i+2;
TiShi = "第"+ o+"行身份证号为空";
break;
}if("".equals(sfsyzjj.getContents())){
int o = i+2;
TiShi = "第"+ o+"行是否属于质监局为空";
break;
}
if("".equals(lxdh.getContents())){
int o = i+2;
TiShi = "第"+ o+"行联系电话为空";
break;
}
if("".equals(dwmc.getContents())){
int o = i+2;
TiShi = "第"+ o+"行单位为空";
break;
}
zhanghaos += zhanghao.getContents()+",/#/#@";
names += name.getContents()+",/#/#@";
sexs += sex.getContents()+",/#/#@";
mzs += mz.getContents()+",/#/#@";
sfzhs += sfzh.getContents()+",/#/#@";
lxdhs += lxdh.getContents()+",/#/#@";
sfsyzjjs += sfsyzjj.getContents()+",/#/#@";
dwmcs += dwmc.getContents()+",/#/#@";
csrqs += csrq.getContents().toString().replaceAll("/","-")+",/#/#@";
xzzws += xzzw.getContents()+",/#/#@";
cjgzsjs += cjgzsj.getContents().toString().replaceAll("/","-")+",/#/#@";
zyjss += zyjs.getContents()+",/#/#@";
zgxls += zgxl.getContents()+",/#/#@";
bysjs += bysj.getContents().toString().replaceAll("/","-")+",/#/#@";
byxxs += byxx.getContents()+",/#/#@";
zys += zy.getContents()+",/#/#@";
yxs += yx.getContents()+",/#/#@";
bianhaoss += i+2 +",/#/#@";
}
if("".equals(names)){
TiShi="2";
}
//截取
zhanghaos.substring(0,names.length()-1);
names.substring(0,names.length()-1);
sexs.substring(0,sexs.length()-1);
mzs.substring(0,mzs.length()-1);
sfzhs.substring(0,sfzhs.length()-1);
lxdhs.substring(0,lxdhs.length()-1);
sfsyzjjs.substring(0,sfsyzjjs.length()-1);
dwmcs.substring(0,dwmcs.length()-1);
csrqs.substring(0,csrqs.length()-1);
xzzws.substring(0,xzzws.length()-1);
cjgzsjs.substring(0,cjgzsjs.length()-1);
//新增的5个字段 截取
zyjss.substring(0,zyjss.length()-1);
zgxls.substring(0,zgxls.length()-1);
bysjs.substring(0,bysjs.length()-1);
byxxs.substring(0,byxxs.length()-1);
zys.substring(0,zys.length()-1);
//新增的两个字段 截取
yxs.substring(0,yxs.length()-1);
bianhaoss.substring(0,bianhaoss.length()-1);
String[] zhanghao=zhanghaos.split(",/#/#@");
String[] name=names.split(",/#/#@");
String[] sex=sexs.split(",/#/#@");
String[] mz=mzs.split(",/#/#@");
String[] sfzh=sfzhs.split(",/#/#@");
String[] lxdh=lxdhs.split(",/#/#@");
String[] sfsyzjj=sfsyzjjs.split(",/#/#@");
String[] dwmc=dwmcs.split(",/#/#@");
String[] csrq=csrqs.split(",/#/#@");
String[] xzzw=xzzws.split(",/#/#@");
String[] cjgzsj=cjgzsjs.split(",/#/#@");
String[] zyjs=zyjss.split(",/#/#@");
String[] zgxl=zgxls.split(",/#/#@");
String[] bysj=bysjs.split(",/#/#@");
String[] byxx=byxxs.split(",/#/#@");
String[] zy=zys.split(",/#/#@");
String[] yx=yxs.split(",/#/#@");
String[] bianhaos=bianhaoss.split(",/#/#@");
String [] zhanghaoss=new String[name.length];
for(int p=0;p<zhanghao.length;p++){
zhanghaoss[p]=zhanghao[p];
}
String [] sfzhss = new String[name.length];
for(int p=0;p<sfzh.length;p++){
sfzhss[p]=sfzh[p];
}
String [] lxdhss = new String[name.length];
for(int p=0;p<lxdh.length;p++){
lxdhss[p]=lxdh[p];
}
String [] sfsyzjjss = new String[name.length];
for(int p=0;p<sfsyzjj.length;p++){
sfsyzjjss[p]=sfsyzjj[p];
}
String [] dwmcss = new String[name.length];
for(int p=0;p<dwmc.length;p++){
dwmcss[p]=dwmc[p];
}
String [] csrqss = new String[name.length];
for(int p=0;p< csrq.length;p++){
csrqss[p]= csrq[p];
}
String [] xzzwss = new String[name.length];
for(int p=0;p< xzzw.length;p++){
xzzwss[p]=xzzw[p];
}
//新增的5个字段
String [] cjgzsjss = new String[name.length];
for(int p=0;p<cjgzsj.length;p++){
cjgzsjss[p]=cjgzsj[p];
}
String [] zyjsss = new String[name.length];
for(int p=0;p<zyjs.length;p++){
zyjsss[p]=zyjs[p];
}
String [] zgxlss = new String[name.length];
for(int p=0;p<zgxl.length;p++){
zgxlss[p]=zgxl[p];
}
String [] bysjss = new String[name.length];
for(int p=0;p< bysj.length;p++){
bysjss[p]= bysj[p];
}
String [] byxxss = new String[name.length];
for(int p=0;p< byxx.length;p++){
byxxss[p]=byxx[p];
}
//新增的两个字段
String [] zyss = new String[name.length];
for(int p=0;p< zy.length;p++){
zyss[p]=zy[p];
}
String [] yxss = new String[name.length];
for(int p=0;p< yx.length;p++){
yxss[p]=yx[p];
}
//理解为 创建一个String数组 用于获取账号的下标 同时把行号里面的值 给zhs
String [] zhs = new String [zhanghaoss.length];
for (int a = 0; a < zhanghaoss.length; a++) {
String zhanghaoa = zhanghaoss[a];
//去除所有空格
String ZhangHao = zhanghaoa.replaceAll(" +","");
//统一转换成小写
ZhangH = ZhangHao.toLowerCase();
zhs[a] = ZhangH;
//判断是否为纯数字
boolean ShuZi = ZhangH.matches("[0-9]+");
if(ShuZi == true){
TiShi = "帐号信息不能全部为数字,请重新输入!";
return TiShi;
}
//判断是否包含特设字符
int Tszf = 0;
String TeShuZiFu = "[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
Pattern TSZiFu = Pattern.compile(TeShuZiFu);
Matcher TeShuZF = TSZiFu.matcher(ZhangH);
while(TeShuZF.find()){
for(int i=0;i<=TeShuZF.groupCount();i++){
Tszf = Tszf + 1;
}
}
if(Tszf > 0){
TiShi = "帐号信息中不能包含特殊字符,请重新输入!";
return TiShi;
}
//判断是否存在汉子
int count = 0;
String QuZhongWen = "[\\u4e00-\\u9fa5]";
Pattern ZhongWen = Pattern.compile(QuZhongWen);
Matcher ZhongW = ZhongWen.matcher(ZhangH);
while(ZhongW.find()){
for(int i=0;i<=ZhongW.groupCount();i++){
count = count + 1;
}
}
if(count > 0){
TiShi = "账号信息包含中文字符,请输入帐号为4-18位的英文字母和数字组成!"
return TiShi;
}
//判断用户输入注册名长度
if(ZhangH.length() < 4){
TiShi = "帐号信息不能小于4位字符!";
return TiShi;
}else if(ZhangH.length() > 18){
TiShi = "帐号信息过长,不能大于18位字符!";
return TiShi;
}
//判断用户是否存在
if(SuoYouYongHu.length > 0){
for(int k=0;k< SuoYouYongHu.length;k++){
String SuoYouYH = (String)SuoYouYongHu[k].get("userId");
//去除包含的所有空格
String SYYongHu = SuoYouYH.replaceAll(" +","");
//统一转换成小写
String SuoYouNaMe = SYYongHu.toLowerCase();
if(SuoYouNaMe.equals(ZhangH)){
TiShi = "用户已存在!";
return TiShi;
}
}
}
}
//GeRenXX.XueYuanXX_addinserts
ILogicComponent logicComponent = LogicComponentFactory.create("GeRenXX");
Object[] params = new Object[18];
params[0] = zhs;
params[1] = name;
params[2] = sex;
params[3] = mz;
params[4] = sfzhss;
params[5] = lxdhss;
params[6] = sfsyzjjss;
params[7] = dwmcss;
params[8] = csrqss;
params[9] = xzzwss;
params[10] = cjgzsjss;
params[11] = zyjsss;
params[12] = zgxlss;
params[13] = bysjss;
params[14] = byxxss;
params[15] = zyss;
params[16] = yxss;
params[17] = bianhaos;
try {
objs=(Object[])logicComponent.invoke("XueYuanXX_addinserts", params);
if(objs[0]!=null){
String res=(String) objs[0];
String yuanyin=(String) objs[1];
TiShi = "第"+res+"条数据"+yuanyin;
}
} catch (Throwable e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
return TiShi;
}
@Bizlet
public static int sex(String sex){
int m =0;
if(sex.equals("男")){
m=0;
}else if(sex.equals("女")){
m=1;
}else{
m=2;
}
return m;
}
}
本文转自12691034博客51CTO博客,原文链接http://blog.51cto.com/12701034/1929236如需转载请自行联系原作者
笑容掩饰爱