jsp
<a class="mini-button" href="javascript:;" id="btnUpLoad">导入</a>
<input type="file" id="upload" name="file" style="width: 250px;" hidden/>
<a class="mini-button" href="javascript:;" id="template">模板下载</a>
js
uploadFile({
subfix: ['xlsx'],
url: "/examination/straight-import.html",
subfixTip: "请选择文本文件!",
successCall: function(data) {
mini.alert(data.message);
me.loadGrid();
}
});
//公共方法
//公共方法的代码块
function uploadFile(options) {
options = options || {};
options.btnId = options.btnId || "btnUpLoad";
options.fileId = options.fileId || "upload";
options.subfix = options.subfix || ['jpg', 'jpeg', 'png', 'bmp'];
options.subfixTip = options.subfixTip || "请选择图片文件!";
$(document).on('change', '#' + options.fileId, function(e) {
_doUpload(options);
});
$(document).on("click", '#' + options.btnId, function() {
$('#' + options.fileId).click();
});
}
ACTION
@Action("/examination/straight-import")
public void examinationImport() {
try {
final InputStream inputStream = new FileInputStream(file);
final XSSFWorkbook xssfWorkbook = new XSSFWorkbook(inputStream);
String msg = this.straightService.saveByExcel(xssfWorkbook,ksfsm);
sendMsg(true, "", msg);
} catch (final Throwable e) {
e.printStackTrace();
sendFailMsg("", "导入失败!");
}
}
public String saveByExcel(XSSFWorkbook xssfWorkbook) {
try {
final XSSFSheet xssSheet0 = xssfWorkbook.getSheetAt(0);
XSSFRow row;
String msg = "";
final List<BaseDoctorInfoVo> vos = Lists.newArrayList();
for (int i = 1; i < xssSheet0.getPhysicalNumberOfRows(); i++) {
BaseDoctorInfoVo vo = new BaseDoctorInfoVo();
row = xssSheet0.getRow(i);
if (row == null) {
break;
}
final String xm = saveByExcel(row.getCell(0));
final String zjhm = saveByExcel(row.getCell(1));
if (StringUtils.isBlank(xm) || StringUtils.isBlank(zjhm)) {
continue;
}
BaseDoctorInfoPojo baseDoctorInfoPojo = this.findUniqueBy("zjhm", zjhm);
if (null != baseDoctorInfoPojo) {
msg += "第" + i + "行,证件号码重复!";
continue;
}
if (zjhm.length() > 6) {
String password = zjhm.substring(zjhm.length() - 6,
zjhm.length()).toLowerCase();//截取字符串后6位
vo.setPassword(password);
}
vo.setXm(xm);
vo.setZjhm(zjhm);
vos.add(vo);
}
saveImport(vos);
return StringUtils.isNotEmpty(msg) ? msg : "导入成功";
} catch (final Exception e) {
e.printStackTrace();
}
return "导入失败";
}
public void saveImport(List<BaseDoctorInfoVo> vos) {
BaseDoctorUserPojo pojo = null;
for (BaseDoctorInfoVo vo : vos) {
pojo = new BaseDoctorUserPojo();
pojo.setXm(vo.getXm());
pojo.setZjhm(vo.getZjhm());
pojo.setMm(vo.getPassword());
basedoctoruserdao.saveOrUpdate(pojo);
}
}
public String saveByExcel(XSSFCell cell) {
String val = "";
switch (cell.getCellType()) {
case XSSFCell.CELL_TYPE_STRING:
val = cell.getStringCellValue();
break;
case XSSFCell.CELL_TYPE_NUMERIC:
val = cell.getNumericCellValue() + "";
break;
case XSSFCell.CELL_TYPE_BOOLEAN:
val = cell.getBooleanCellValue() + "";
break;
case XSSFCell.CELL_TYPE_BLANK:
val = "";
break;
default:
val = cell.toString();
}
return val;
}