poi导入excel
来源:互联网 发布:java web基础知识书籍 编辑:程序博客网 时间:2024/06/04 20:07
页面:
<a href="###" class="btn1 btn-search" id="upLoadButton" onclick="importFile()"><span><em>导入</em></span></a>
js:
//导入
function importFile() {
var fileName = $('#fileName').val();
if (fileName != '') {
$.ajax({
type:'post',
url:basePath + 'xxx/importFile/' + fileName,
data:fileName,
dataType:'json',
contentType:'application/json; charset=UTF-8',
cache : false,
beforeSend: function () {
$.messager.progress({
title: '提示',
msg: 'Excel导入中,请稍候……',
text: ''
});
},
complete: function () {
$.messager.progress('close');
},
success:function(result){
_$.alert(null, result.info, null, function () {
if (result.msg != '') {
_$.alert(null, "导入数据有错误,点击确定下载错误数据", null, function () {
window.location.href = '<%=path%>/downloader?filename=' + result.msg + '&ExportOrDownLoad=Export';
});
}
});
}
});
} else {
jQuery.messager.alert('提示:', '请先上传文件!', 'error');
}
function importFile() {
var fileName = $('#fileName').val();
if (fileName != '') {
$.ajax({
type:'post',
url:basePath + 'xxx/importFile/' + fileName,
data:fileName,
dataType:'json',
contentType:'application/json; charset=UTF-8',
cache : false,
beforeSend: function () {
$.messager.progress({
title: '提示',
msg: 'Excel导入中,请稍候……',
text: ''
});
},
complete: function () {
$.messager.progress('close');
},
success:function(result){
_$.alert(null, result.info, null, function () {
if (result.msg != '') {
_$.alert(null, "导入数据有错误,点击确定下载错误数据", null, function () {
window.location.href = '<%=path%>/downloader?filename=' + result.msg + '&ExportOrDownLoad=Export';
});
}
});
}
});
} else {
jQuery.messager.alert('提示:', '请先上传文件!', 'error');
}
}//end 导入
后台:
@POST
@Path("/importFile/{fileName}")
public EasyUIResult importFile(@PathParam("fileName") final String fileName) {
log.info("------时间----------" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
EasyUIResult result = null;
if (org.apache.commons.lang3.StringUtils.isEmpty(fileName)) {
result = EasyUIUtils.getEasyUIResult(-1, false);
result.setMsg("文件名不能为空");
return result;
}
try {
ImportFileReturnInfo importResult = this.teService.importFile(fileName);
result = EasyUIUtils.getEasyUIResult(1, true);
result.setMsg(importResult.getErrFileName());
result.setInfo(importResult.getAlertMsg());
return result;
} catch (Exception ex) {
log.error(ex.toString(), ex);
result = EasyUIUtils.getEasyUIResult(-1, false);
result.setMsg("系统异常");
return result;
}
}//end 导入
@Path("/importFile/{fileName}")
public EasyUIResult importFile(@PathParam("fileName") final String fileName) {
log.info("------时间----------" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
EasyUIResult result = null;
if (org.apache.commons.lang3.StringUtils.isEmpty(fileName)) {
result = EasyUIUtils.getEasyUIResult(-1, false);
result.setMsg("文件名不能为空");
return result;
}
try {
ImportFileReturnInfo importResult = this.teService.importFile(fileName);
result = EasyUIUtils.getEasyUIResult(1, true);
result.setMsg(importResult.getErrFileName());
result.setInfo(importResult.getAlertMsg());
return result;
} catch (Exception ex) {
log.error(ex.toString(), ex);
result = EasyUIUtils.getEasyUIResult(-1, false);
result.setMsg("系统异常");
return result;
}
}//end 导入
//region 导入
private String alertMsg;
@Override
public ImportFileReturnInfo importFile(String fileName) {
String errFileName = "";
final String path = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest().getServletContext().getRealPath("");
List<TimeEffectImport> errList = this.upLoadFileBiz(path + filePath, fileName.replace("\n", ""));
if (errList != null && errList.size() > 0) {
errFileName = createErrorExcel(path + filePath, errList);
}
ImportFileReturnInfo result = new ImportFileReturnInfo();
result.setErrFileName(errFileName);
result.setAlertMsg(this.alertMsg);
return result;
private String alertMsg;
@Override
public ImportFileReturnInfo importFile(String fileName) {
String errFileName = "";
final String path = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest().getServletContext().getRealPath("");
List<TimeEffectImport> errList = this.upLoadFileBiz(path + filePath, fileName.replace("\n", ""));
if (errList != null && errList.size() > 0) {
errFileName = createErrorExcel(path + filePath, errList);
}
ImportFileReturnInfo result = new ImportFileReturnInfo();
result.setErrFileName(errFileName);
result.setAlertMsg(this.alertMsg);
return result;
}
//导入时效考核指标校验
public List<TimeEffectImport> upLoadFileBiz(String path, String fileName) {
int sqlcount = 0;
List<TimeEffectImport> errorList = new ArrayList<>();
try {
//读取Excel的数据
List<String> listTitle = new ArrayList<>();
public List<TimeEffectImport> upLoadFileBiz(String path, String fileName) {
int sqlcount = 0;
List<TimeEffectImport> errorList = new ArrayList<>();
try {
//读取Excel的数据
List<String> listTitle = new ArrayList<>();
List<TimeEffectImport> listData = ExcelImportUtil.GetDataFromExcel(TimeEffectImport.class, path + fileName,
new String[]{"excel_header1","excel_header2"}, listTitle);
//标题长度验证不正确
if (listData == null || listTitle.size() != 22) {
this.alertMsg = "上传Excel文件数据类型不正确或列数量不匹配";
return null;
}
errorList = checkData(listData,errorList);
if(errorList.size()>0){
this.alertMsg = "本次上传" + listData.size() + "条,数据校验失败" + errorList.size() + "条";
return errorList;
}else {
Map<String,TimeEffectImport> list_noRepeatMap = Maps.newHashMap();
for (TimeEffectImport uploadPo : listData) {
String wmscode = uploadPo.getWmscode().split("\\.")[0];
String logisticcode = uploadPo.getLogisticcode().split("\\.")[0];
String provicecode = uploadPo.getProvicecode().split("\\.")[0];
String citycode = uploadPo.getCitycode().split("\\.")[0];
String key = wmscode + logisticcode + provicecode + citycode;
list_noRepeatMap.put(key,uploadPo);
}
List<TimeEffectImport> sqlList = Lists.newArrayList();
for(Entry<String,TimeEffectImport> entry:list_noRepeatMap.entrySet()){
sqlList.add(entry.getValue());
}
for(Entry<String,TimeEffectImport> entry:list_noRepeatMap.entrySet()){
sqlList.add(entry.getValue());
}
sqlcount = sqlList.size();
List<TimeEffectVO> list_insert = Lists.newArrayList();
for (TimeEffectImport uploadPo : sqlList) {
Map<String, Object> param = new HashMap<>();
param.put("wmscode",uploadPo.getWmscode().split("\\.")[0]);
param.put("logisticcode",uploadPo.getLogisticcode().split("\\.")[0]);
param.put("provicecode",uploadPo.getProvicecode().split("\\.")[0]);
param.put("wmscode",uploadPo.getWmscode().split("\\.")[0]);
param.put("logisticcode",uploadPo.getLogisticcode().split("\\.")[0]);
param.put("provicecode",uploadPo.getProvicecode().split("\\.")[0]);
param.put("citycode",uploadPo.getCitycode().split("\\.")[0]);
timeEffectDao.deleteBy4code(param);//不管是导入新增还是导入修改,全部新增先删除
TimeEffectVO timeEffectVO_add = new TimeEffectVO();
timeEffectVO_add.setCreatetime(new Date());
list_insert.add(timeEffectVO_add);
}//end for循环
timeEffectDao.insertList(list_insert);
}//end else 全部通过校验
this.alertMsg = "本次上传" + listData.size() + "条,去掉仓库,快递,省,市重复后成功导入" + sqlcount + "条,数据校验失败" + errorList.size() + "条";
return errorList;
}catch (Exception ex){
log.error(ex.getMessage(), ex);
return null;
}
}//end 导入方法
}//end for循环
timeEffectDao.insertList(list_insert);
}//end else 全部通过校验
this.alertMsg = "本次上传" + listData.size() + "条,去掉仓库,快递,省,市重复后成功导入" + sqlcount + "条,数据校验失败" + errorList.size() + "条";
return errorList;
}catch (Exception ex){
log.error(ex.getMessage(), ex);
return null;
}
}//end 导入方法
//导入时的错误数据导出到excel
public String createErrorExcel(String path, List<TimeEffectImport> errList) {
ExcelExportInfo exportInfo = new ExcelExportInfo();
exportInfo.setFilePath(path);
public String createErrorExcel(String path, List<TimeEffectImport> errList) {
ExcelExportInfo exportInfo = new ExcelExportInfo();
exportInfo.setFilePath(path);
exportInfo.setFileName("TimeEffectImportError_");
exportInfo.setTitles(new String[]{"excel_heaers_chinese","错误提示"});
exportInfo.setTitleWidths(new int[]{30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30});
exportInfo.setDataColumns(new String[]{"excel_headers","errorMsg"});
exportInfo.setDataList(errList);
String result = ExcelExportUtil.ExportError(exportInfo);
return result;
return result;
}
阅读全文
0 0
- poi 导入excel源码
- POI导入excel出错
- 使用POI 导入excel
- POI导入Excel
- excel导入(poi)
- poi导入导出excel
- poi excel导入导出
- poi 导入 Excel
- POI实现excel导入
- java poi 导入excel
- 使用poi 导入 excel
- poi导入excel
- POI数据导入Excel
- poi之excel导入
- POI方法导入Excel
- POI导入/导出 EXCEL
- POI Excel导入导出
- Java poi+excel导入
- RMQ ST算法模板
- 廖雪峰《python3 基础教程》读书笔记——第五章
- Java中的向上转型和向下转型
- 构造函数的调用规则
- JavaScript 中的闭包
- poi导入excel
- 安全防护工具之:ClamAV
- Silver Cow Party
- servlet和jsp写一个图片验证码
- 透明度,margin为负数的应用,圣杯布局,倒三角
- Android部分手机拍照上传返回为空处理,和拍照后图片压缩后保存到指定路径下
- poi导出excel
- C# FTP操作实例
- eclipse快捷键