JAVA隨筆

           

          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ù)。可以是塔型。如圖一:

          1.jpg

          2.判斷最后一行的單元格數(shù)要與第一行的列數(shù)相等,如圖一,第一行,列數(shù)是ABC三列,為3。而第三行最后一行的單元格數(shù)也就是說(shuō),A格為1B格為1C格為1。故相等。符合條件。

          3
          .判斷sheet,如sheet1,sheet3均符合標(biāo)準(zhǔn),而sheet2不符合條件。則認(rèn)為該模板無(wú)效。


          4
          .判斷其中不得有空行,若有空行則不符合要求。如圖二。

          ????? 2.jpg
          ?????
          該類(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


          例如,要合并表三,表四。如圖三、圖四。


          34.jpg
          ???最后合并內(nèi)容如下:如圖五
          ????
          ??? 5.jpg


          多個(gè)sheet都會(huì)合并。



          OK!API說(shuō)明文檔,JAR包,及源碼。com.boco.excel.test包下的類(lèi)有使如何使用API的例子。





          下載列表:

          jar包.rar

          源碼:project.rar

          API說(shuō)明文檔

          ?

          ?

          posted on 2006-12-12 16:43 曲靜波 閱讀(3344) 評(píng)論(4)  編輯  收藏 所屬分類(lèi): tools

          評(píng)論

          # re: excel模板檢驗(yàn)與合并 2006-12-12 17:30 BeanSoft

          用的是 Apache POI, 支持一下原創(chuàng)!  回復(fù)  更多評(píng)論   

          # re: excel模板檢驗(yàn)與合并 2006-12-12 17:47 曲靜波

          是poi。呵呵~  回復(fù)  更多評(píng)論   

          #  re: excel模板檢驗(yàn)與合并 2006-12-15 09:25 往昔會(huì)

          斑竹 里面沒(méi)有源碼啊 請(qǐng)上傳  回復(fù)  更多評(píng)論   

          # re: excel模板檢驗(yàn)與合并 2006-12-15 09:46 曲靜波

          不好意思。project.jar就是源碼,好像寫(xiě)的鏈接把a(bǔ)pi鏈到一起了。我改下。  回復(fù)  更多評(píng)論   


          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(3)

          隨筆分類(lèi)(9)

          隨筆檔案(8)

          文章分類(lèi)

          友情鏈接

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 崇明县| 保靖县| 巴里| 宽甸| 吉林市| 和硕县| 扬中市| 巴彦淖尔市| 从江县| 海林市| 昂仁县| 达尔| 南投市| 东港市| 凤翔县| 临夏市| 岳普湖县| 新平| 葵青区| 明星| 西盟| 安康市| 柳江县| 新余市| 灵璧县| 霍林郭勒市| 丹东市| 沾益县| 平阴县| 财经| 琼海市| 文成县| 徐水县| 大足县| 广平县| 南昌市| 册亨县| 葵青区| 白山市| 新乡市| 镇安县|