JAVA获取word书签内容_java操作word可操作书签
最近有個需求,在word模板文檔上設置書簽,然后從數據庫中查詢數據,填充到word 文檔書簽位置,剛拿到需求時,使勁在網上找資料?;孟氲谌絡ar包,幫我實現。有Apatch 的POI,java2word,jcob等,一直讓我無法實現。POI操作word只能獲取word中的書簽,并不能進行操作.java2word可以實現,但是除了java2word.jar包以外,還要一個dll文件放在system32文件夾下,環境部署在linux服務器上,誰允許你放這樣的文件,結果死心了.下面新建一個word2007文件告訴大家不用第三方技術怎么一一實現。
現在新建一個word,在請輸入用戶名處添加書簽userName,請輸入年齡處添加書簽age
Word2007版本其實就是zip格式,將新建word后綴名改.zip,解壓會發現,里面全是文件夾,打開word文件夾會有一個document.xml文件,在word所有內容,都在這xml文件中,
請輸入用戶名
這是新建書簽處的內容,細心的會發現,書簽處內容在 標簽之間,標簽中的w:id跟w:name標識書簽的唯一,中間是書簽處的內容,會不會可以這樣呢,找到用dom或者sax解析這個xml 文檔找到標簽,然后找到標簽,再找到標簽里面的標簽內容,替換就Ok了呢。一開始我就這樣想的。但是你會發現,不是這樣配套的,如果是這樣配套的,那按照前面的說的直接解析找到標簽就OK了。
分析xml文件你會發現,其實標簽跟標簽是同級的,只是結束方式不同而已,所以算是兄弟節點,可以不可以找到的兄弟節點,也就是標簽,然后找到標簽,替換其文本。其實w3c中Element對象中提供了獲取兄弟節點的方法,getNextSibling()獲取下一個兄弟節點。按照分析的思路是可以實現的。但是會不會有疑問,如果的下一個兄弟節點會不會不是標簽呢,是的,如果書簽處無內容,就會是這樣的
總結
以上是生活随笔為你收集整理的JAVA获取word书签内容_java操作word可操作书签的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java安装后在哪里打开_java安装后
- 下一篇: 外贸独立站模板