前提要做的:
导入jxl包
1.首先要把上传的文个件上传到服务器上.并得到文件的绝对路径
2.new一个新的文件对象出来,并得到输入流
3.通过jxl来从输入流中获取到EXCEL的值
4.通过对工作表的遍历取数相应数据
导入jxl包
1.首先要把上传的文个件上传到服务器上.并得到文件的绝对路径
2.new一个新的文件对象出来,并得到输入流
File file = new File(文件路径);
//通过这个文件对象得到文件输入流
FileInputStream fis = new FileInputStream(file);
3.通过jxl来从输入流中获取到EXCEL的值
jxl.Workbook rwb = Workbook.getWorkbook(fis); //获取到整个EXCEL对象
jxl.Sheet sh = rwb.getSheet(0);//从第几个工作表获取数据
int rowCount = sh.getRows(); //得到这个工作表中有多少条数据
4.通过对工作表的遍历取数相应数据
for (int i = 1; i < rowCount; i++) { //第一行如果是目录则直接跳过,就直接从1开始取
jxl.Cell[] ce = sh.getRow(i); //获取每行的数据 ,
}
if(ce==null || ce.length==0){ //判断该行是否为空
continue;
}
String idcard = getCellString(ce, 1); //身份证号 通过getCellString(每行的对象,第 几个单元格)
方法:
/**
* 获取EXCEL每行的每个单元格的值,并做出判断
* @param cel
* @param index
* @return
*/
private String getCellString(jxl.Cell[] cel, int index) {
try {
if (cel[index].getType() == CellType.DATE) {
DateCell dateCell = (DateCell) cel[index];
Date date = dateCell.getDate();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
return df.format(date);
}
String str = cel[index].getContents().toString();
if ("null".equalsIgnoreCase(str.trim())) {
return str.trim();
}
return str;
} catch (Exception e) {
return "";
}
}