导入表格解析数据
来源:互联网 发布:js记录用户访问轨迹 编辑:程序博客网 时间:2024/04/29 02:19
导入表格,依据某一列特定的值 解析是否需要的内容,不是则返回错误信息
如果数据正确返回 一个 List<Map<String, String>>
public static List<?> parsePersonExecl(File execlFile,String streetname){
InputStream in = null;Workbook book = null;
List<Map<String, String>> returnList = new ArrayList<>();
List<String> errorList = new ArrayList<>();
try {
in = new FileInputStream(execlFile);
book = WorkbookFactory.create(in); -------------------------可以解析xls ,xlsx
// book = createWorkBook(in,execlFile.getName());
Sheet sheet = book.getSheetAt(0);
if(0==sheet.getLastRowNum()){
return null;
}
Map<String, String> personMap = null;
Row row = null;
String cellValue ;
for(int i=2;i<=sheet.getLastRowNum();i++){
personMap = new HashMap<>();
row = sheet.getRow(i);
if(null==row){
errorList.add("表格第"+(i+1)+"行第2列值不可为空!");
}else{
cellValue = getCellValue(row.getCell(1)).trim();
if(cellValue.lastIndexOf("街道")!=-1&&cellValue.length()>0){
if(cellValue.equals(streetname)||cellValue==streetname){
cellValue = getCellValue(row.getCell(4)).trim();
if(StringUtils.isBlank(cellValue)){
errorList.add("表格第"+(i+1)+"行第5列值不可为空!");
}else{
boolean flag = false;
String newIdCard = "";
if(cellValue.length()>=15){
if(cellValue.length()==15){
flag = IdcardValidatorUtils.isValidatedAllIdcard(cellValue);
if(flag){
newIdCard = IdcardValidatorUtils.convertIdcarBy15bit(cellValue);
cellValue = newIdCard;
}else{
errorList.add("表格第"+(i+1)+"行第5列值居民身份证号信息有误!");
}
}else if(cellValue.length()==18){
flag = IdcardValidatorUtils.isValidatedAllIdcard(cellValue);
if(!flag){
errorList.add("表格第"+(i+1)+"行第5列值居民身份证号信息有误!");
}
}else{
errorList.add("表格第"+(i+1)+"行第5列值居民身份证号信息有误!");
}
personMap.put("idCard", cellValue);
returnList.add(personMap);
cellValue = null;
row = null;
personMap = null;
}else{
errorList.add("表格第"+(i+1)+"行第5列值居民身份证号信息有误!");
}
}
}else{
errorList.add("表格第"+(i+1)+"行非本街道数据,请检查数据是否正确或为空");
};
}else{
errorList.add("表格第"+(i+1)+"行非本街道数据,请检查数据是否正确或为空");
continue;
}
}
}
} catch (Exception e) {
throw new ServiceProcessException(e);
} finally{
try {
if(null != book){
book.close();
}
if(null != in){
in.close();
}
} catch (IOException e) {
throw new ServiceProcessException(e);
}
}
if(errorList.size() > 0 ){
return errorList;
}
return returnList;
}
阅读全文
0 0
- 导入表格解析数据
- 导入Excel表格数据
- 导入excel表格数据 不用保存表格
- 表格数据导入到EXCEL
- java excel表格数据导入
- MySQL导入EXCEL表格数据
- oracle导入excel表格数据
- ssh导入导出数据 表格
- excel表格数据导入数据库
- MySQL--导入Excel表格数据
- 导入excel解析数据
- Excel导入解析数据
- POI解析excel表格导入数据库
- 将Excel表格中的数据导入mysql
- 把excel表格数据导入到SqlServer
- excel表格的数据导入MYSQL方法
- Excel表格数据导入到SQLServer数据库
- Excel表格数据导入mysql数据库中
- PHP清除html格式
- 解决使用JavaMail发送邮件报错javax.mail.MessagingException: 500 Error: bad syntax
- zuul
- Python学习 – 匿名函数
- boost1.65.1库编译报错,找不到 pyconfig.h
- 导入表格解析数据
- Nginx基础配置 前端启动项目
- Js中闭包的定义与理解
- Net分布式系统之七:日志采集系统(1)
- What Kind of Switches and Patch Cables Should I Choose for SFP Transceiver?
- 我的拖延症
- Python学习笔记_零零一:Python基本介绍
- Ionic 3 项目实战------自定义插件
- sql 语句 根据多个条件查重