玉林做網(wǎng)站優(yōu)化推廣天津百度推廣網(wǎng)絡(luò)科技公司
1前言
在做項(xiàng)目時會按照指定模板導(dǎo)出word文檔,本文講解分析需求后,制作word模板、修改模板內(nèi)容,最終通過Java代碼實(shí)現(xiàn)按照模板自定義內(nèi)容的導(dǎo)出。
2制作word模板
2.1 新建word文檔
新建word文檔,根據(jù)需求進(jìn)行編寫模板內(nèi)容,調(diào)整行間距和段落格式后將指定替換位置留空。
2.2 插入文檔占位符
點(diǎn)擊word需要插入占位符的位置,選擇引用-插入引文-添加新占位符,編寫占位符的內(nèi)容(代碼替換的字段)。
添加后的占位符是用左右括號包住的,如:(占位符字段)。
2.3 另存為xml文件
將所有的占位符插入完畢后,將word文檔另存為xml文件。
2.4 編輯xml文件
通過idea或者文本編輯器打開xml文件,找到占位符1的位置,將其替換成${占位符1}的格式,中間「占位符1」為代碼中需替換的字段內(nèi)容,更改完成字段內(nèi)容之后通過代碼邏輯將其替換為有效的值。
最重要的一步,需要將xml的后綴名更改為ftl。
切記,不要直接從word保存為xml文檔后直接修改后綴為ftl,步驟一定要和文檔描述的順序相同。
3模板修改詳解
本章以列表、圖形占位符為例來講解修改步驟。
3.1 列表占位符的修改
第一步,模板里需要用變量填充表格,在模板中創(chuàng)建一個兩行的表格,并給第一行的表格字段填充占位符。
第二步,將文檔另存為xml格式。
第三步,使用文本工具打開xml文件,根據(jù)第二節(jié)的內(nèi)容修改占位符中的()為${},在模板中<w:tbl>表示一個表格、<w:tr>表示一行、<w:tc>表示一列。
因?yàn)镕reeMarker是利用列表一行一行循環(huán)填充的,所以我們根據(jù)關(guān)鍵字找到<w:tbl>標(biāo)簽,因?yàn)榈谝粋€<w:tr>是表頭注意不要改到了,找到第二個<w:tr>在前后分別加上如下語句即可,如果創(chuàng)建了三行的表格,則后面多余的表格的行<w:tr>需要刪掉,添加完如下圖所示,如果在文本中標(biāo)簽提示紅色波浪線可以忽略。
<#list itemList as item>${item.index}
</#list>
第四步,由于程序中賦值的list為itemList,標(biāo)簽中作為item,所以第二步xml中的占位符${字符名