java导⼊excel,错误返回消息⽣成txt⽂档,并指定错误消息⾏数1、整理⼀下导⼊excel,最终实现结果如下:
由于没有git账户,所以代码都整理到了这篇⽂章中,太长,取⾃⼰需要即可。
导⼊按钮
导⼊按钮打开的dialog
上传⽂件后返回的错误消息
导出成功存储提⽰
2、话不多说,上代码:
⼯程结构: 本⽰例使⽤的是Springboot,⽤的是SpringMVC架构。⼯程结构就不截图了。
pom依赖:
* @param request
* @param file
* 导⼊的⽂件对象
* @returntish 提⽰消息
*/
@PostMapping(value = ConstantUtil.IMPORTLEDEXCEL)
public Map<String, Object> importLedExcel(HttpServletRequest request, @RequestParam(ConstantUtil.FILE) MultipartFile file, HttpSession session) { Map<String, Object> resMap = new HashMap<>();
// 存放解析完的excel数据
List<Map<String, Object>> importList = new ArrayList<Map<String, Object>>();
// 存放解析完的标题数据
Map<String, Object> titleStringMap = new HashMap<String, Object>();
String title = null;
// 声明并初始化Excel⽂件中列名的集合
List<String> colList = new ArrayList<String>();
// 以下列名顺序需要与Excel⽂件中列名顺序匹配
String[] titleArray = ConstantUtil.ANY_CONSTANT_IMPORT_TITLEVAR.split(ConstantUtil.DOUHAO);
colList = Arrays.asList(titleArray);
学完c语言后学什么// 判断导⼊的⽂件是否为空
if (null != file) {
// 验证导⼊⽂件标题是否与导⼊模板匹配
try {
titleStringMap = ImportExcelTitle(ConstantUtil.ANY_CONSTANT_IMPORT_DATAROW, InputStream(),
ConstantUtil.ANY_CONSTANT_IMPORT_COUNTCOL, null);
if (null != titleStringMap) {
// 判断是否有错误消息写⼊Map中
if (null == (ConstantUtil.ERRORMSG)) {
// 获取标题
title = String.(ConstantUtil.TITLESTRING));
// 判断导⼊标题是否与模板标题匹配
if (ConstantUtil.ANY_CONSTANT_IMPORT_TITLE.equals(title)) {
// 将导⼊的Excel⽂件内容存储到List中
importList = ImportExcel2007Util.doImmportExcel(ConstantUtil.ANY_CONSTANT_IMPORT_DATAROW, InputStream(),
ConstantUtil.ANY_CONSTANT_IMPORT_COUNTCOL, colList);
if (!importList.isEmpty()) {
// 调⽤验证⽅法
resMap = validateXcjh(importList);
// 通过校验,执⾏保存操作
if ((ConstantUtil.STATUS).equals(ConstantUtil.STATUS_ONE)) {
@SuppressWarnings("unchecked")
List<Map<String, Object>> paramList = (List<Map<String, Object>>) ("data");
for (Map<String, Object> paramMap : paramList) {
// 验证通过后进⾏保存操作// 获取⽤户信息
JtlSysUser jtlSysUser = SysUserInfo(session);
// 获取⽤户信息
String userName = UserName();
paramMap.put("xgr", userName);
paramMap.put("cjr", userName);
paramMap.put("bz", "⽆");
List<Map<String, Object>> delList = new ArrayList<>();
List<Map<String, Object>> updateList = new ArrayList<>();
paramMap.put("addList", ("stationString"));
paramMap.put("delList", delList);
jquery下载文件请求paramMap.put("updateList", updateList);
// 执⾏数据存储
int flag = ledLedManageService.saveLedList(paramMap);
int flag = 1;
if (flag == 1) {
resMap.put(ConstantUtil.STATUS, ConstantUtil.STATUS_ONE);
resMap.put(ConstantUtil.MSG, ConstantUtil.COMMON_SUCCESS);
} else {
resMap.put(ConstantUtil.STATUS, ConstantUtil.STATUS_ZERO);
resMap.put(ConstantUtil.MSG, ConstantUtil.COMMON_FAILURE);
}
}
}
}
} else {
svg mdnresMap.put(ConstantUtil.STATUS, ConstantUtil.STATUS_ZERO);
resMap.put(ConstantUtil.MSG, ConstantUtil.IMPORTEXCEL_TITLE_ERROR);
}
} else {
resMap.put(ConstantUtil.STATUS, ConstantUtil.STATUS_ZERO);
resMap.put(ConstantUtil.STATUS, ConstantUtil.STATUS_ZERO);
resMap.put(ConstantUtil.MSG, (ConstantUtil.ERRORMSG));
}
} else {
resMap.put(ConstantUtil.STATUS, ConstantUtil.STATUS_ZERO);
resMap.put(ConstantUtil.MSG, ConstantUtil.IMPORTEXCEL_TITLE_NULL);
}
} catch (Exception e) {
e.printStackTrace();
resMap.put(ConstantUtil.STATUS, ConstantUtil.STATUS_ZERO);
resMap.put(ConstantUtil.MSG, ConstantUtil.IMPORTEXCEL_FAILE);
}
websevice}
return resMap;
}
/**
*
* 校验导⼊⾏车计划明细的⽅法
*
* @param paramList
* 导⼊的站牌信息
* @return 返回status状态
* @return message消息
* @return datas数据
* @throws Exception
*/
public Map<String, Object> validateXcjh(List<Map<String, Object>> paramList) throws Exception {
// ⽤来提⽰⽤户第⼏⾏有问题
int i = 0;
// IP正则表达式
String reg = ConstantUtil.IPREG;
电影节selected什么意思Pattern pattern = Patternpile(reg);
Map<String, Object> resMap = new HashMap<>();
// 存放错误提⽰消息
String errorMsg = ConstantUtil.NULL_STRING;
// 校验数据
for (Map<String, Object> rowMap : paramList) {
rowMap.put("ledid", "");
// 第i⾏
i++;
// 获取sheet页名称
String sheetName = String.(ConstantUtil.SHEETNAME));
// 站牌名称
String ledmc = String.("ledmc"));
// 站牌编号
String ledbh = String.("ledbh"));
// 经度
String jd = String.("jd"));
// 纬度
String wd = String.("wd"));
// ⽅向
String ledfx = String.("ledfx"));
// ⽹关
String wg = String.("wg"));
// 本地设备IP地址
计算机内部程序用什么表示String bdsbipdz = String.("bdsbipdz"));
/
/ ⼦⽹掩码
String zwym = String.("zwym"));
// 关联站点列表
String stationString = String.("stationString"));
// 校验电⼦站牌名称
if (StringConvertUtils.isEmpty(ledmc)) {
errorMsg = errorMsg + sheetName + ConstantUtil.MESSAGE_DE_DI + i + "⾏,站牌名称不能为空;" + ConstantUtil.HUANHANG;
} else if (ledmc.length() > 10) {
errorMsg = errorMsg + sheetName + ConstantUtil.MESSAGE_DE_DI + i + "⾏,站牌名称不能超过13位;" + ConstantUtil.HUANHANG; }
Map<String, Object> valMap = new HashMap<>();
valMap.put("tag", "1");
valMap.put("ledmc", ledmc);
// 校验电⼦站牌名称是否重复
List<Map<String, Object>> ledmcList = ledLedManageService.validateLedMcAndLecBh(valMap);
if (ledmcList != null && ledmcList.size() > 0) {
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论