功能介紹
IMPORT
alanpoi import有何優(yōu)勢(shì)?
-
valid:方法參數(shù)返回excel所有數(shù)據(jù),用戶可進(jìn)行自我校驗(yàn)
-
error:導(dǎo)入錯(cuò)誤會(huì)回調(diào)
-
end:方法參數(shù)返回校驗(yàn)成功的數(shù)據(jù),valid校驗(yàn)失敗的數(shù)據(jù)不會(huì)返回,用戶可以自己操作持久化或者其他業(yè)務(wù)
-
用戶不需要額外引入poi等繁瑣的jar
-
毫秒級(jí)解析大文件,支持一鍵解析多sheet頁(yè)簽,不需要自己按照一定的格式循環(huán)匹配解析所有數(shù)據(jù)
-
不管你的系統(tǒng)多么復(fù)雜,有多少個(gè)導(dǎo)入,
alanpoi
全部支持,而且準(zhǔn)確返回你需要的對(duì)象,減輕開(kāi)發(fā)者工作量 -
目前外界業(yè)務(wù)越來(lái)越復(fù)雜,對(duì)各個(gè)功能要求也越來(lái)越嚴(yán)格,當(dāng)然導(dǎo)入也不例外,alanpoi支持錯(cuò)誤一鍵回寫(xiě)到excel,對(duì)應(yīng)到每一行
-
alanpoi
靈活可擴(kuò)展,提供了ExcelConsumeInterface
接口,可繼承它,實(shí)現(xiàn)valid、error、end
三個(gè)方法編寫(xiě)自己的業(yè)務(wù)
怎么使用alanpoi實(shí)現(xiàn)導(dǎo)入
項(xiàng)目中使用:
<dependency> <groupId>com.alanpoigroupId> <artifactId>alanpoi-analysisartifactId> <version>1.3.0version> dependency>
簡(jiǎn)單一句話:一配置一繼承一調(diào)用
一配置
在項(xiàng)目resources目錄中新建excel-config.xml
文件,cosume中配置自己的消費(fèi)類(lèi)路徑,繼承ExcelConsumeInterface
接口,sheet中的vo是把當(dāng)前sheet序列化的對(duì)象路徑,column中當(dāng)然就是配置vo中的屬性了。
其中name可選字段,填了就是按照這個(gè)匹配excel列名,不填就是按照offset順序;導(dǎo)入包含多個(gè)sheet就配置多個(gè)
<exgname="excelId"version="1.0"file-type="excel"> <excelid="ACCOUNT"consume="com.xxx.FinAccountImportHandler"> <sheetindex="0"row-start="1"column-start="0" vo="com.xxx.vo.FinAccountImportVO"> <columnname="公司/供應(yīng)商編號(hào)"offset="1">companyCodecolumn> <columnname="公司/供應(yīng)商名稱(chēng)"offset="2">companyNamecolumn> <columnname="銀行賬號(hào)"offset="3">bankAccountcolumn> <columnname="開(kāi)戶銀行"offset="4">bankNamecolumn> sheet> excel> exg>
一繼承
consume
類(lèi)繼承ExcelConsumeInterface
接口,實(shí)現(xiàn)方法
/** *whenerrorwill調(diào)用 * *@paramexcelError */ voiderror(ExcelErrorexcelError); /** *customvaliddata * *@paramworkbookId *@paramsheetDataList */ voidvalidData(StringworkbookId,List
一調(diào)用
用戶調(diào)用ExcelExportUtil
類(lèi)的customImportData
即可,參數(shù)excelId就是excel-conifg.xml
中配置的id
Export
描敘
能夠用一行代碼實(shí)現(xiàn)絕不用第二行,如果一行不行,那就再加一行!
模式
注解模式導(dǎo)出:
-
ExcelSheet注解:用于導(dǎo)入類(lèi)上,可制定sheet名,列頭的顏色、字體、高度、寬度
-
ExcelColum注解:用于導(dǎo)入類(lèi)的屬性上,可指定列頭的名稱(chēng),單元格的樣式
-
DateFormat注解:用于導(dǎo)入類(lèi)的屬性上, 可以按照指定格式輸出到excel,默認(rèn)"
yyyy/MM/dd
" -
NumFormat注解:用于導(dǎo)入類(lèi)的屬性上,可以按照指定格式輸出到excel,默認(rèn)"
00.00
"
樣例:
@ExcelSheet(name="測(cè)試",backColor=AlanColors.GREEN,font="宋體",fontSize=25) @Data publicclassExportVO{ @ExcelColumn(name="名稱(chēng)",width=32,link="${url}") privateStringname; @ExcelColumn(name="值") privateStringvalue; @ExcelColumn(name="金額") @NumFormat(value="0000.00##") privateBigDecimalamount; @ExcelColumn(name="時(shí)間格式化") @DateFormat(value="yyyy-MM-ddhhss") privateDatedateTime; @DateFormat @ExcelColumn(name="日期格式化") privatejava.sql.Datedate; @ExcelColumn(isExist=false) privateStringurl; }
使用
方式一. 直接導(dǎo)出到瀏覽器
ExcelExportUtil.export(Colletion>,Class,HttpServletRequest,HttpServletResponse,fileName);
方式二. 調(diào)用getWorkbook
獲取工作表,自行處理workbook
ExcelExportUtil.getWorkbook(Collection>singleSheetData,Class>c)
高級(jí)使用
示例一:導(dǎo)出指定列(動(dòng)態(tài)導(dǎo)出列)
List
示例二:多sheet頁(yè)簽導(dǎo)出
List
代碼已經(jīng)開(kāi)源,地址:
https://github.com/alan-et/alanpoi/tree/develop/alanpoi-analysis
-
處理器
+關(guān)注
關(guān)注
68文章
19118瀏覽量
228869 -
Excel
+關(guān)注
關(guān)注
4文章
217瀏覽量
55425 -
import
+關(guān)注
關(guān)注
0文章
15瀏覽量
1943
原文標(biāo)題:幾行代碼就能實(shí)現(xiàn)復(fù)雜的 Excel 導(dǎo)入導(dǎo)出,這個(gè)工具類(lèi)真心強(qiáng)大!
文章出處:【微信號(hào):AndroidPush,微信公眾號(hào):Android編程精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論