package?com.thinkgem.jeesite.common.persistence; import?com.aspose.words.IMailMergeDataSource; import?com.aspose.words.ref.Ref; import?java.util.ArrayList; import?java.util.List; import?java.util.Map; public?class?MapMailMergeDataSource?implements?IMailMergeDataSource?{ ????private?Listject>>?dataList; ????private?int?index; ????//word模板中的?TableStart:tableName??TableEnd:tableName?對應(yīng) ????private?String?tableName?=?null; ????/** ?????*?@param?dataList??數(shù)據(jù)集 ?????*?@param?tableName?與模板中的Name對應(yīng) ?????*/ ????public?MapMailMergeDataSource(Listject>>?dataList?String?tableName)?{ ????????this.dataList?=?dataList; ????????this.tableName?=?tableName; ????????index?=?-1; ????} ????/** ?????*?@param?data??????單個數(shù)據(jù)集 ?????*?@param?tableName?與模板中的Name對應(yīng) ?????*/ ????public?MapMailMergeDataSource(Mapject>?data?String?tableName)?{ ????????if?(this.dataList?==?null)?{ ????????????this.dataList?=?new?ArrayListject>>(); ????????????this.dataList.add(data); ????????} ????????this.tableName?=?tableName; ????????index?=?-1; ????} ????/** ?????*?獲取結(jié)果集總數(shù) ?????* ?????*?@return ?????*/ ????private?int?getCount()?{ ????????return?this.dataList.size(); ????} ????@Override ????public?IMailMergeDataSource?getChildDataSource(String?arg0) ????????????throws?Exception?{ ????????return?null; ????} ????@Override ????public?String?getTableName()?throws?Exception?{ ????????return?this.tableName; ????} ????/** ?????*?實現(xiàn)接口 ?????*?判斷是否還有下一條記錄 ?????*/ ????@Override ????public?boolean?moveNext()?throws?Exception?{ ????????index?+=?1; ????????if?(index?>=?this.getCount())?{ ????????????return?false; ????????} ????????return?true; ????} ????/** ?????*?實現(xiàn)接口 ?????*?獲取當(dāng)前index指向數(shù)據(jù)行的數(shù)據(jù) ?????*?將數(shù)據(jù)存入args數(shù)組中即可 ?????* ?????*?@return?***返回false則不綁定數(shù)據(jù)*** ?????*/ ????@Override ????public?boolean?getValue(String?key?Refject>?args)?throws?Exception?{ ????????if?(index?0?||?index?>=?this.getCount())?{ ????????????return?false; ????????} ????????if?(args?!=?null)?{ ????????????args.set(this.dataList.get(index).get(key)); ????????????return?true; ????????}?else?{ ????????????return?false; ????????} ????} }
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????47270??2018-12-21?23:19??Template1.docx
?????文件???????35958??2018-12-21?23:17??employees.jpg
?????文件???????17654??2018-12-20?11:35??Template.docx
?????文件????????2324??2018-12-21?23:16??WordExportUtilTest.java
?????文件????12752053??2018-10-17?09:44??aspose-words-18.10-jdk16-crack.jar
?????文件?????????586??2018-08-15?16:12??license.xm
l ?????文件????????2422??2018-12-20?10:48??MapMailMergeDataSource.java