excel模板檢驗(yàn)與合并
excel
模板檢驗(yàn)與合并
為實(shí)現(xiàn) excel 文件的合并,需要對(duì)上傳的 excel 文件進(jìn)行格式的驗(yàn)證,格式主要包括表頭信息的驗(yàn)證,為此引入模板概念,首先用戶(hù)需要上傳帶表頭信息的模板。然后由用戶(hù)上傳需要合并的 excel 文件,這時(shí)就需要驗(yàn)證將要合并的 excel 文件是否與模板文件相符合。若符合可以合并,不符合給出提示。用戶(hù)上傳多個(gè) excel 文件后,通過(guò)模板表頭文件格式合并所有 excel 文件。
該 jar 包主要分為五個(gè)類(lèi),如下:
com.boco.excel.ExcelException
自定義異常,在驗(yàn)證模板出錯(cuò)時(shí),會(huì)拋出錯(cuò)誤信息。供開(kāi)發(fā)人員和用戶(hù)使用。
????
com.boco.excel.ExcelExceptionMsg
該類(lèi)中全是常量,常量定義為自定義異常時(shí)提示的錯(cuò)誤信息。
???
com.boco.excel.ValidatorTemplate
該類(lèi)主要驗(yàn)證模板表頭格式的有效性。一般開(kāi)發(fā)人員使用validator方法就可以。具體參數(shù)說(shuō)明請(qǐng)見(jiàn)api使用說(shuō)明。
???
public void validator(String excelPath, int rowSize) throws ExcelException
?????
該方法主要驗(yàn)證:
1
.判斷每后一行的單元格個(gè)數(shù)要大于等于前一行的單元格個(gè)數(shù)。可以是塔型。如圖一:
2.判斷最后一行的單元格數(shù)要與第一行的列數(shù)相等,如圖一,第一行,列數(shù)是A,B,C三列,為3。而第三行最后一行的單元格數(shù)也就是說(shuō),A格為1,B格為1,C格為1。故相等。符合條件。
3.判斷sheet,如sheet1,sheet3均符合標(biāo)準(zhǔn),而sheet2不符合條件。則認(rèn)為該模板無(wú)效。
4.判斷其中不得有空行,若有空行則不符合要求。如圖二。
?????
?????
該類(lèi)主要驗(yàn)證多個(gè)文件與模板是否匹配。開(kāi)發(fā)人員主要使用以下方法:(具體參數(shù)說(shuō)明見(jiàn)API說(shuō)明文檔)
該方法主要驗(yàn)證:
?????1.判斷模板的表頭列數(shù)與文件的表頭列數(shù)是否相同。若不同則不符合。
??? 2.判斷模板表頭格式的每個(gè)cell是否與文件相符合,符合條件包括:合并單元格。
com.boco.excel.CombinationFileExcel
該類(lèi)主要通過(guò)模板格式合并excel文件,開(kāi)發(fā)人員主要使用以下方法:(具體參數(shù)說(shuō)明見(jiàn)API說(shuō)明文檔)
public void combination(String templatePath, String filePath[],String templFilePath, String newFilePath, int rowSize) throws Exception
例如,要合并表三,表四。如圖三、圖四。
???最后合并內(nèi)容如下:如圖五
????
???
多個(gè)sheet都會(huì)合并。
OK!附API說(shuō)明文檔,JAR包,及源碼。com.boco.excel.test包下的類(lèi)有使如何使用API的例子。
下載列表:
源碼:project.rar
?
?
posted on 2006-12-12 16:43 曲靜波 閱讀(3344) 評(píng)論(4) 編輯 收藏 所屬分類(lèi): tools