java上传解析excel_Java上传和解析excel表

页面jsp及js代码:

function submitExcel(url){

$.ajaxMutiUpload({

type:"post",

url:url,

secureuri:true,// 安全提交,默认为false

dataType:'json',

fileElementId:"zzsFile",//上传文件的id

success:function(data){

$("#operateWin").window('close');

searchForm();

$.messager.show({

title:'友情提示',

msg:data.message

});

},

error:function(XMLHttpRequest,textStatus,errorThrown){

$.messager.show({

title:'友情提示',

msg:data.message

});

}

});

}

提交

返回

温馨提示:

只支持excel导入

后台java代码对excel文件进行解析:

//上传的文件:File zzsFile

//文件名称:String zzsFileFileName

//需要保存数据到的list:List secondaryList

public List loadUserInfo(File zzsFile, String zzsFileFileName,

List secondaryList) {

try {

FileInputStream fis = new FileInputStream(zzsFile);

Workbook wb = null;

if (zzsFileFileName.toLowerCase().endsWith("xls")) {

wb = new HSSFWorkbook(fis);

}else if(zzsFileFileName.toLowerCase().endsWith("xlsx")) {

wb = new XSSFWorkbook(fis);

}

Sheet sheet = wb.getSheetAt(0);

int rowNum = sheet.getLastRowNum()+1;

//i 从1开始表示第一行为标题 不包含在数据中

for(int i=1;i

Secondary secondary = new Secondary();

Row row = sheet.getRow(i);

int cellNum = row.getLastCellNum();

for(int j=0;j

Cell cell = row.getCell(j);

String cellValue = null;

if(cell != null){

cell.setCellType(Cell.CELL_TYPE_STRING);

cellValue = cell.getStringCellValue();

}

switch(j){//通过列数来判断对应插如的字段

//数据中不应该保护ID这样的主键记录

//case 0 : user.setId(Integer.valueOf(cellValue));break;

case 0 : secondary.setSecondaryIdentity(cellValue);break;

case 1 : secondary.setSecondaryName(cellValue);break;

case 2 : secondary.setSecondarySex(cellValue);break;

case 3 : secondary.setSecondaryBirthday(cellValue);break;

case 4 : secondary.setSecondaryProvince(cellValue);break;

case 5 : secondary.setSecondaryCity(cellValue);break;

case 6 : secondary.setSecondaryCounty(cellValue);break;

case 7 : secondary.setSecondaryFreeTuition(cellValue);break;

case 8 : secondary.setSecondaryFreeTerm(cellValue);break;

case 9 : secondary.setSecondaryAgriAccount(cellValue);break;

case 10 : secondary.setSecondaryAccountDes(cellValue);break;

case 11 :

if(cellValue!=null&&cellValue.length()!=0){

Dormitory dormitory = (Dormitory) getSession().get(Dormitory.class,Long.parseLong(cellValue));

if(dormitory!=null){

dormitory.setPeopleNum(dormitory.getPeopleNum()+1);

if(dormitory.getPeopleNum()!=dormitory.getRentPeople()){

secondary.setDormitory(dormitory);

getSession().update(dormitory);

}

}

}

break;

}

}

secondaryList.add(secondary);

}

} catch (Exception e) {

e.printStackTrace();

}

return secondaryList;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值