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?對應 ????private?String?tableName?=?null; ????/** ?????*?@param?dataList??數據集 ?????*?@param?tableName?與模板中的Name對應 ?????*/ ????public?MapMailMergeDataSource(Listject>>?dataList?String?tableName)?{ ????????this.dataList?=?dataList; ????????this.tableName?=?tableName; ????????index?=?-1; ????} ????/** ?????*?@param?data??????單個數據集 ?????*?@param?tableName?與模板中的Name對應 ?????*/ ????public?MapMailMergeDataSource(Mapject>?data?String?tableName)?{ ????????if?(this.dataList?==?null)?{ ????????????this.dataList?=?new?ArrayListject>>(); ????????????this.dataList.add(data); ????????} ????????this.tableName?=?tableName; ????????index?=?-1; ????} ????/** ?????*?獲取結果集總數 ?????* ?????*?@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; ????} ????/** ?????*?實現接口 ?????*?判斷是否還有下一條記錄 ?????*/ ????@Override ????public?boolean?moveNext()?throws?Exception?{ ????????index?+=?1; ????????if?(index?>=?this.getCount())?{ ????????????return?false; ????????} ????????return?true; ????} ????/** ?????*?實現接口 ?????*?獲取當前index指向數據行的數據 ?????*?將數據存入args數組中即可 ?????* ?????*?@return?***返回false則不綁定數據*** ?????*/ ????@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