91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

excel通用解析和參數驗證demo,里面包含兩個接口方法,將excel(xlsx,和xls)文件,轉為List對象,或者List 對象。 讓開發者可以將精力放在解析對象上,而非row和cell的傻瓜式處理上

資源截圖

代碼片段和文件信息

package?zxy.test.poi;

import?java.io.File;
import?java.io.InputStream;
import?java.util.ArrayList;
import?java.util.HashMap;
import?java.util.List;
import?java.util.Map;

import?org.apache.poi.hssf.usermodel.HSSFCell;
import?org.apache.poi.ss.usermodel.Cell;
import?org.apache.poi.ss.usermodel.Row;
import?org.apache.poi.ss.usermodel.Sheet;
import?org.apache.poi.ss.usermodel.Workbook;
import?org.apache.poi.ss.usermodel.WorkbookFactory;
import?org.dom4j.Document;
import?org.dom4j.Element;
import?org.dom4j.io.SAXReader;

import?com.alibaba.fastjson.JSON;

/**
?*?@author?xinyzhang
?*?
?*?@createTime?2018年9月28日-下午5:42:30
?*
?*?@tag
?*/
public?class?ExcelReader?{
private?static?String?ELEMENT_PROCESS?=?“process“;
private?static?String?ELEMENT_NAME?=?“name“;
private?static?String?ELEMENT_DATA?=?“data“;
private?static?String?FILE_base_PATH?=?“/fmt/“;
private?static?String?IGNONE_START_LINE?=?“ignone_start_line“;
private?static?String?IGNONE_END_LINE?=?“ignone_end_line“;


public?static??List?readExcelToInstance(String?filePath?String?modelFile?String?elementName?String?sheetName
Class?c)?throws?Throwable?{
List?ts?=?new?ArrayList();
Listject>>?maps?=?readExcel(filePath?modelFile?elementName?sheetName);
ts?=?(List)?JSON.parseArray(JSON.toJSONString(maps)?c);
return?ts;
}

public?static?Listject>>?readExcel(String?filePath?String?modelFile?String?elementName
String?sheetName)?throws?Throwable?{

File?excelFile?=?validate(filePath?modelFile?elementName);

Element?opinionElement?=?getElementConfig(modelFile?elementName);

//?自動適配xls或者xlsx
Workbook?workbook?=?WorkbookFactory.create(excelFile);
Sheet?sheet?=?null;
if?(sheetName?!=?null)?{
sheet?=?workbook.getSheet(sheetName);
}?else?{
sheet?=?workbook.getSheetAt(0);
}

Listject>>?maps?=?getBodyData(opinionElement?sheet);

return?maps;
}

private?static?File?validate(String?filePath?String?element?String?exeConfig)?throws?Throwable?{
if?(filePath?==?null?||?filePath.isEmpty()?||?element?==?null?||?element.isEmpty()?||?exeConfig?==?null
||?exeConfig.isEmpty())?{
throw?new?Throwable(“入參不能為空“);
}
if?(!(filePath.endsWith(“.xls“)?||?filePath.endsWith(“.xlsx“)))?{
throw?new?Throwable(“待解析文件格式,不為xls或者xlsx格式!“);
}
File?file?=?new?File(filePath);
if?(!file.exists())?{
throw?new?Throwable(“未找到待解析文件:“?+?filePath);
}
return?file;
}

@SuppressWarnings(“unchecked“)
private?static?Element?getElementConfig(String?modelFile?String?elementName)?throws?Throwable?{
//?獲取模板文件,并找到模板文件中適用于本次解析的元素樹
InputStream?inputStream?=?ExcelReader.class.getResourceAsStream(FILE_base_PATH?+?modelFile);
if?(inputStream?==?null)?{
throw?new?Throwable(“未找到模板文件:“?+?modelFile);
}
SAXReader?reader?=?new?SAXReader();
Document?document?=?reader.read(inputStream);
Element?rootElement?=?doc

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????1078??2018-09-29?15:24??test\.classpath

?????文件????????556??2018-09-25?17:34??test\.project

?????文件????????119??2018-09-25?17:34??test\.settings\org.eclipse.core.resources.prefs

?????文件????????243??2018-09-25?17:34??test\.settings\org.eclipse.jdt.core.prefs

?????文件?????????90??2018-09-25?17:34??test\.settings\org.eclipse.m2e.core.prefs

?????文件???????1735??2018-09-30?11:33??test\pom.xml

?????文件???????7400??2018-09-30?10:05??test\src\main\java\zxy\test\poi\ExcelReader.java

?????文件???????1025??2018-09-30?10:14??test\src\main\java\zxy\test\poi\test.java

?????文件????????833??2018-09-30?10:05??test\src\main\java\zxy\test\validate\App.java

?????文件????????166??2018-09-30?10:05??test\src\main\java\zxy\test\validate\dto\baseParseDto.java

?????文件???????4781??2018-09-30?10:05??test\src\main\java\zxy\test\validate\dto\CreateBindParseDto.java

?????文件???????1465??2018-09-30?10:05??test\src\main\java\zxy\test\validate\dto\Person.java

?????文件????????894??2018-09-30?10:05??test\src\main\java\zxy\test\validate\dto\resultRespEnum.java

?????文件????????901??2018-09-30?10:05??test\src\main\java\zxy\test\validate\dto\ResultValidate.java

?????文件????????301??2018-09-30?10:05??test\src\main\java\zxy\test\validate\service\Handle.java

?????文件????????905??2018-09-30?10:05??test\src\main\java\zxy\test\validate\util\Valite.java

?????文件??????32256??2018-09-30?10:08??test\src\main\resource\CreateBindImport.xls

?????文件???????1200??2018-09-29?18:19??test\src\main\resource\fmt\createBind.xml

?????文件????????674??2018-09-25?17:34??test\src\test\java\zxy\test\AppTest.java

?????文件??????32256??2018-09-30?10:08??test\target\classes\CreateBindImport.xls

?????文件???????1200??2018-09-29?18:19??test\target\classes\fmt\createBind.xml

?????文件????????111??2018-09-30?11:33??test\target\classes\meta-INF\MANIFEST.MF

?????文件????????199??2018-09-30?11:33??test\target\classes\meta-INF\maven\zxy\test\pom.properties

?????文件???????1735??2018-09-30?11:33??test\target\classes\meta-INF\maven\zxy\test\pom.xml

?????文件????????520??2018-09-30?11:33??test\target\classes\zxy\test\poi\ExcelReader$ParseSort.class

?????文件???????8663??2018-09-30?11:33??test\target\classes\zxy\test\poi\ExcelReader.class

?????文件???????1641??2018-09-30?11:33??test\target\classes\zxy\test\poi\test.class

?????文件???????1463??2018-09-30?11:33??test\target\classes\zxy\test\validate\App.class

?????文件????????305??2018-09-30?11:33??test\target\classes\zxy\test\validate\dto\baseParseDto.class

?????文件???????3943??2018-09-30?11:33??test\target\classes\zxy\test\validate\dto\CreateBindParseDto.class

............此處省略44個文件信息

評論

共有 條評論