文檔有一百多頁,首先一個數字一個數字地去改寫爲${}這種形式,但是轉爲xml文件後,發現佔位符被一些標籤分割開了,仍是轉xml後再寫佔位符吧。java
表名和日期最好寫在相似於配置文件的形式,方便改,省得去一條又一條的sql裏改。
Word OpenXML經常使用標籤
Freemark在線手冊英文版
Freemark在線手冊中文版
java操做word可操做書籤
FreeMarker生成複雜word(包含圖片,表格)sql
</w:tbl>
標籤下面):<w:sectPr w:rsidR="00BF219B" w:rsidSect="00EA328D"> <w:pgSz w:w="16838" w:h="11906" w:orient="landscape"/> <w:pgMar w:top="1797" w:right="1440" w:bottom="1797" w:left="1440" w:header="851" w:footer="992" w:gutter="0"/> <w:cols w:space="425"/> <w:docGrid w:type="lines" w:linePitch="312"/> </w:sectPr>
<w:sectPr w:rsidR="00BF219B"> <w:pgSz w:w="11906" w:h="16838"/> <w:pgMar w:top="1440" w:right="1800" w:bottom="1440" w:left="1800" w:header="851" w:footer="992" w:gutter="0"/> <w:cols w:space="425"/> <w:docGrid w:type="lines" w:linePitch="312"/> </w:sectPr>
準確地來講是第二行決定的——
w:w
表示寬度;w:h
表示長度,當寬度>長度時頁面就是橫向的了,能夠省略w:orient="landscape"
另外還要注意做用範圍,個人經驗是<w:tbl>
上分寫一個豎向的,</w:tbl>
下面寫一個(彷佛要多一個w:rsidSect
)橫向的,這樣做用到table上就是橫向的,表格上面的文字部分是豎向的。apache
<w:tr xxx>
標籤之上加上<#list newList as listKey>
,佔位符須要是如${listKey.name1}
的形式,行標籤結尾</w:tr>
後加上</#list>
;List<Map<String,Object>>
中,變量名爲newList,最後把該list放入Map中,key值也是「newList」,用for循環來控制插入多少行,以下:// 加載表格的數據 List<Map<String,Object>> newList = new ArrayList<Map<String,Object>>(); for (int i = 0; i < 10; i++) { Map<String,Object> map = new HashMap<String,Object>(); // map.put("all1", i); // map.put("all2", "內容"+i); // map.put("all3", "內容"+i); // map.put("all4", "內容"+i); // map.put("allRate", "內容"+i); map.put("p_name", "內容"+i); map.put("p1_1", i); map.put("p1_2", "內容"+i); map.put("p1_3", "內容"+i); map.put("p1_4", "內容"+i); map.put("p1_rate", "內容"+i); newList.add(map); } dataMap.put("newList", newList);