日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

java poi 空_Java的poi技术遍历Excel时进行空Cell,空row,判断

發(fā)布時(shí)間:2024/9/19 java 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java poi 空_Java的poi技术遍历Excel时进行空Cell,空row,判断 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

/**

*?導(dǎo)入信息

*/

@Override

public?List?add(HttpServletRequest?request)?{

//?TODO?Auto-generated?method?stub

List?num=new?ArrayList();

MultipartHttpServletRequest?multipartRequest?=(MultipartHttpServletRequest)?request;

CommonsMultipartFile?file?=?(CommonsMultipartFile)multipartRequest.getFile("zlUpload");

if(file!=null){

try?{

num?=?save(file.getInputStream());

}?catch?(IOException?e)?{

//?TODO?Auto-generated?catch?block

e.printStackTrace();

}

}

returnnum;

}

/**

*?保存上傳的Excel信息

*/

private?List?save(InputStream?inputStream)?throwsIOException?{

//?TODO?Auto-generated?method?stub

List?error_num?=?new?ArrayList();

List?temp?=(List)readXls(inputStream,error_num);

System.out.println(temp.get(0).getClass().getName());

if(temp.get(0).getClass().getName().equals("org.apache.poi.hssf.usermodel.HSSFCell")){

return?error_num;

}else{

TStudentNo?student?=?null;

List?studentList?=?newArrayList();

for(int?i=0;i

student?=?(TStudentNo)temp.get(i);

studentList.add(student);

}

try?{

//在插入數(shù)據(jù)前進(jìn)行判斷,看數(shù)據(jù)庫(kù)中是否有不允許重復(fù)的字段出現(xiàn),以打斷保存進(jìn)度

int?repeat?=?0;

for(int?j?=?0;j

TStudentNo?Studenttemp?=studentMapper.findByStudentNo(studentList.get(j).getStudent_no());

//如果查到了,重復(fù)數(shù)加一,然后跳過(guò)不保存

if(Studenttemp!=null){

repeat++;

}

}

if(repeat==0){

for(int?z=0;z

studentMapper.saveStudent(studentList.get(z));

}

}else{

error_num.add("數(shù)據(jù)庫(kù)中有相同的數(shù)據(jù),請(qǐng)檢查學(xué)號(hào)等不允許重復(fù)的部分!");

return?error_num;

}

}?catch?(Exception?e)?{

//判斷Excel中是否有重復(fù)數(shù)據(jù),如果有重復(fù)跳過(guò)保存異常

error_num.add("數(shù)據(jù)庫(kù)中有相同的數(shù)據(jù),請(qǐng)檢查學(xué)號(hào)等不允許重復(fù)的部分!");

return?error_num;

}

return?temp;

}

}

/**

*?逐行遍歷其Excel

*/

private?Object?readXls(InputStream?inputStream,Listerror_num)?throws?IOException?{

InputStream?is?=?new?BufferedInputStream(inputStream);

HSSFWorkbook?hssfWorkbook?=?new?HSSFWorkbook(is);

TStudentNo?student?=?null;

List?list?=?new?ArrayList();

//循環(huán)工作表Sheet

for(int?numSheet?=0;numSheet

HSSFSheet?hssfSheet?=?hssfWorkbook.getSheetAt(numSheet);

if(hssfSheet?==?null){

continue;

}

for(int?rowNum?=2;rowNum<=hssfSheet.getLastRowNum();rowNum++){

System.out.println(hssfSheet.getLastRowNum());

HSSFRow?hssfRow?=?hssfSheet.getRow(rowNum);

//檢查每行的空格數(shù),如果小于4證明有一個(gè)或多個(gè)空格,但不是整行

if(CheckRowNull(hssfRow)<4){

student?=?new?TStudentNo();

HSSFCell?name?=?hssfRow.getCell(0);

HSSFCell?student_no?=?hssfRow.getCell(1);

HSSFCell?phone?=?hssfRow.getCell(2);

HSSFCell?class_no?=?hssfRow.getCell(3);

HSSFCell?subject_category?=?hssfRow.getCell(4);

List?temp?=?new?ArrayList();

temp.add(0,?name);

temp.add(1,?student_no);

temp.add(2,?phone);

temp.add(3,?class_no);

temp.add(4,?subject_category);

int?temp1?=?0;//用于跳出雙層for循環(huán)

for(int?i=0;i<5;i++){

//為記錄前臺(tái)進(jìn)行提示某行某列出錯(cuò)

temp1?=?CheckRowError(temp.get(i),error_num,rowNum,i);

if(temp1==-1){

break;

}

}

if(temp1==-1){

return?temp;

}

student.setName(getCellValue(name));

student.setPhone(getCellValue(phone));

student.setStudent_no(getCellValue(student_no));

student.setClass_no(getCellValue(class_no));

student.setSubject_category(Integer.parseInt(getCellValue(subject_category)));

list.add(student);

}else{

continue;

}

}

}

return?list;

}

/**

*?對(duì)Excel的各個(gè)單元格的格式進(jìn)行判斷并轉(zhuǎn)換

*/

private?String?getCellValue(HSSFCell?cell)?{

String?cellValue?=?"";

DecimalFormat?df?=?newDecimalFormat("#");

switch?(cell.getCellType())?{

case?HSSFCell.CELL_TYPE_STRING:

cellValue?=cell.getRichStringCellValue().getString().trim();

break;

case?HSSFCell.CELL_TYPE_NUMERIC:

cellValue?=df.format(cell.getNumericCellValue()).toString();

break;

case?HSSFCell.CELL_TYPE_BOOLEAN:

cellValue?=String.valueOf(cell.getBooleanCellValue()).trim();

break;

case?HSSFCell.CELL_TYPE_FORMULA:

cellValue?=cell.getCellFormula();

break;

default:

cellValue?=?"";

}

return?cellValue;

}

//判斷某行某列有問(wèn)題

private?int?CheckRowError(HSSFCell?cell,Listerror_num,int?rowNum,int?cell_num){

//判斷各個(gè)單元格是否為空

if(cell==null||cell.equals("")||cell.getCellType()?==HSSFCell.CELL_TYPE_BLANK){

error_num.add("出錯(cuò)啦!請(qǐng)檢查第"+(rowNum+1)+"行第"+(cell_num+1)+"列。"+"如果您在該行沒(méi)有數(shù)據(jù),建議您選擇刪除該行,重試!");

return?-1;

}

return?0;

}

//判斷行為空

private?int?CheckRowNull(HSSFRow?hssfRow){

int?num?=?0;

Iterator?cellItr?=hssfRow.iterator();

while(cellItr.hasNext()){

Cell?c?=cellItr.next();

if(c.getCellType()?==HSSFCell.CELL_TYPE_BLANK){

num++;

}

}

return?num;

}

總結(jié)

以上是生活随笔為你收集整理的java poi 空_Java的poi技术遍历Excel时进行空Cell,空row,判断的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美精品久久久久久 | 国产盗摄精品一区二区酒店 | 成人国产一区二区 | 欧美一区二区三区视频 | a级黄色网 | 亚洲国产果冻传媒av在线观看 | 国产视频精品视频 | 亚洲欧美日韩国产成人精品影院 | 国产男女在线 | 免费激情| 国产一区二区三区四 | 日本h视频在线观看 | 人人色网 | 青青草中文字幕 | 中文字幕有码在线视频 | 欧美手机看片 | 欧美不卡网 | 熟妇高潮一区二区 | 色在线影院| 国产精品久久久久影院老司 | 完全免费在线视频 | 自拍偷拍20p | 日本一区二区免费看 | 成人羞羞网站 | 狠狠干人人干 | 国产成人精品一二三区 | 欧美精品aaa| 中文在线字幕观看 | 麻豆蜜桃在线观看 | 欧美成人免费一级人片100 | 日本成人免费在线视频 | 欧美日韩在线影院 | 国产色一区 | 日韩欧美日韩 | 欧美另类日韩 | 办公室荡乳欲伦交换bd电影 | 亚洲九九热 | 成年性生交大片免费看 | 野花成人免费视频 | 午夜精品一区二区三区在线 | 美女一二三区 | 日韩小视频网站 | 欧美在线黄 | 麻豆免费看片 | 午夜欧美精品久久久久久久 | 久久久久久久久网站 | 成人毛片a | 米奇7777狠狠狠狠视频 | 亲切的金子片段 | 亚洲乱视频 | 国产白浆在线 | cao死你 | 欧美日韩一区二区在线播放 | 91精品国产91久久久久青草 | 欧洲精品无码一区二区 | 殴美毛片| 日日日日日日 | 国产精品污 | 男男受被啪到高潮自述 | 高h喷水荡肉少妇爽多p视频 | 五月激情婷婷丁香 | caoporen超碰 | 小向美奈子在线观看 | 碰在线视频 | 亚洲视频h| 97人妻一区二区精品免费视频 | 又欲又污又肉又黄短文 | 国产黄在线播放 | 欧美日本在线 | 欧美三级一区 | 91色啪| 在线日韩三级 | 精品国产理论 | 精品国产av鲁一鲁一区 | 国产美女永久无遮挡 | 在线看一区二区 | 精品免费国产一区二区三区 | 不卡中文字幕在线观看 | 99久久精品日本一区二区免费 | 色5月婷婷 | 在线观看av一区 | 欧美日本亚洲 | www.波多野结衣.com | 天堂欧美 | 色91av | 中文字幕一区二区人妻痴汉电车 | 欧洲亚洲国产精品 | www.av日韩 | 无码人妻一区二区三区免费 | 天天操网站| 一起草av在线 | 丁香花电影免费播放在线观看 | 日本午夜大片 | 激情六月 | 又黄又爽又色的视频 | 日本亲子乱子伦xxxx50路 | 久久久久亚洲av成人人电影 | 天天超碰 | 国产视频二区 |