解析xml格式的word文件(非jar包)-附程式碼
1 背景
dom4j,Jdom,w3c dom解析xml文件時速度比較慢,因此選擇自己寫程式碼解析xml文件。
2 思路
首先,對xml檔案進行分析,熟悉標籤;
然後,切分文件為不同的塊。我們要對文件中的書籤進行替換,因此需要將文件切分為書籤塊和非書籤塊;
還有就是表格中行的迴圈,比如當前取出的資料是一個list,我們需要根據list的大小來生成表格中的行數,並對此表格中的書籤進行資料替換(如下圖),此時,需要將文件進切分為“迴圈的行塊”和非行塊。
除此之外,還有需刪除的行塊,表示該行需要刪除,一般用迴圈的行在合併單元格之後的表格設計上。
最後,對文件中切分好的塊進行文件構建。
3 編碼
3.1 塊切分器
(1)書籤切分器BookmarkCutter
(2)行切分器RowBookmarkCutter
(3)不需處理的書籤塊(skipCutter)
(4)刪除切分器
(5)整個表格迴圈切分器
3.2 構件xml文件
文件切分完成後,分別對不同的塊中的進行寫入,構件成一個完整的文件。
其中最主要的寫入是“書籤塊的寫入”,由於書籤塊分為“頭”“尾”“身體”,身體裡包含“文字塊”和“非文字”塊,書籤替換時只需將資料替換到第一個文字塊中即可,之後的文字塊忽略不計(因為替換的文字很難選擇文字塊中的某一塊的樣式,所以選擇取第一個文字塊的樣式)
附上程式碼下載程式碼
相關推薦
解析xml格式的word文件(非jar包)-附程式碼
1 背景 dom4j,Jdom,w3c dom解析xml文件時速度比較慢,因此選擇自己寫程式碼解析xml文件。 2 思路 首先,對xml檔案進行分析,熟悉標籤; 然後,切分文件為不同的塊。我們要對文件中的書籤進行替換,因此需要將文件切分為書籤塊和非書籤塊; 還有就是
C#儀器數據文件解析-Word文件(doc、docx)
new read ffi 數據文件 word 不同 軟件 情況下 如果 不少儀器數據報告輸出為Word格式文件,同Excel文件,Word文件doc和docx的存儲格式是不同的,相應的解析Word文件的方式也類似,主要有以下方式: 1.通過MS Word應用程序的DCOM
python合併多個word文件(帶圖片等)
文章目錄 安裝python3.6和pywin32包 執行程式碼 安裝python3.6和pywin32包 python官網下載python3.6版本,exe檔案直接安裝。 利用pip安裝pywin32包
POI 追加寫入word文件,POI如何寫入word文件(親測有效),POI報錯Fail to save: an error occurs while saving the package
一、POI寫入word文件 首先參考W3Shool的教程(上述快速指南)的“Apache POI Word - 文件”一節,對於建立文件和寫入段落都有清晰的闡釋。我不再贅述。但是其寫入段落的方式每次都會覆蓋曾經寫入的內容。那麼經過我探索一番要這麼處理... 二、POI
java操作word文件(jacob,poi)
專案需要,使用者從系統裡面下載word文件,該文件進行了填寫限制和加密,使用者只能在固定位置填寫內容。現要求系統驗證上傳的附件是否從系統上下載下來的。 思路:系統上面的文件都加入一個固定書籤,使用者上傳文件的時候,檢驗文件裡是否包含這個書籤。 採用jacob
使用poi生成word文件(最全例子)
1.說明 平時的專案中,我們可能需要做大量的報告。而這些報告中,有些是固定的格式,有些是需要自定義模板來生成。如果是固定的形式的,那麼相對而言是比較好做的,但要是根據模板來生成報告,比如:word、Excel或PDF。這樣的話,可能需要我們花點時間去解決了。這篇部落格主要是
安卓使用POI讀取及修改Word文件(.docx格式)
說明:上一篇文章使用poi對.doc格式的word文件進行了讀取和更改,但很多情況下還需要在word文件中插入圖片,這時就需要對.docx格式的word進行操作了。 1.製作文書 文書在原始碼中可以直接看到,簡單說明一下:文書有普通欄位、表格、特定位置的圖片,又在頁首頁尾
利用poi操作word文件(針對docx格式)
一:認識POI Apache POI是一個開源的利用Java讀寫Excel、WORD等微軟OLE2元件文件的專案。最新的3.5版本有很多改進,加入了對採用OOXML格式的Office 2007支援,如xlsx、docx、pptx文件。 POI主頁:poi.apache.org/ 二:POI3.5相關下載
安卓使用POI讀取及修改Word文件(.doc格式)
前言:如果你可愛的專案經理要求安卓端的你來操作word實現各種功能,不要猶豫,直接動之以情曉之以理,因為這本來就是java的poi,安卓雖然源自java,但對於java的很多東西是不支援的,已有的各種jar包也不方便更改,各種報錯會搞的你腦闊疼。所以編輯word文件這種事讓後
【Python圖像特征的音樂序列生成】解析ABC格式的文件
技術分享 最新 class 技術 一個 color music blog logs ABC格式,是一個音樂標準,ABC Plus Project最新的標準是2.x。 ABC格式的音樂長成這樣: 1 X: 2 2 T:Abacus 3 % Nottingham Mus
C#儀器數據文件解析-Excel文件(xls、xlsx)
sheet 解析 工作站 row 問題 .get 壓縮 安裝 shee 不少儀器工作站可以將數據導出為Excel文件,包括97-2003版本的xls文件和2007+的xlsx文件。 采集Excel文件相比采集pdf文件更容易、程序更健壯,畢竟Excel中數據有明確的行、列
python-操作xml格式的文件
remove true checked .get 模塊 class parse 增刪 roo xml文件的格式如下: <data> <country name="Liechtenstein"> <rank update
將頁面中表格數據導出excel格式的文件(vue)
表示 webpack ade bpa upd 調用 clas 使用 目錄 近期由於項目需要,需要將頁面中的表格數據導出excel格式的文件,折騰了許久,在網上各種百度,雖然資料不少,但是大都不全,踩了許多坑,總算是皇天不負有心人,最後圓滿解決了。 1、安裝相關依賴
對於maven創建spark項目的pom.xml配置文件(圖文詳解)
mapr cati ID encoding pil tar error: 而是 releases 不多說,直接上幹貨! http://mvnrepository.com/ 這裏,怎麽創建,見 這裏, 我重點說下spa
angularJs上傳文件(非form上傳)
list amp success acs att ror tor 出了 end angular.js:13920 Broken interceptor detected: Config object not supplied in rejection: <input
解決下載ftp文件過程中,瀏覽器直接解析文件(txt,png等)的問題
filename map 需要 etc home 3.0.0 var att esp 搭建了一個ftp服務器,供用戶進行上傳下載,在下載過程中發現,一些文件,例如txt,jpg,png,pdf等直接被瀏覽器解析了。在瀏覽器中顯示其內容,沒有下載。 下面通過網上查詢得到一些解
Servlet | 訪問不同格式文件(PDF、doc)
ssr post 格式 tdi study ted sdn 類型 bsp 核心代碼 //設置響應內容類型為PDF類型 response.setContentType("application/pdf"); request.ge
pdf、caj轉換成word文件(最新最有效的方法)
pdf或caj文件轉換如何為word文件,相信這個問題一直纏繞著很多人。當然也有很多的方法經驗,小編也去看過了,不過那些方法不是收費就是亂碼,根本不能滿足廣大群眾。下面小編就為大家分享一個最新最有效的辦法。希望能夠幫助到更多的人。 工具/原料 CAJ
Java Web 生成Word文件(freemarker方式)
首先在pom檔案中加入下面這個依賴(不是Maven專案的話,把jar包匯入專案即可) <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</ar
使用Freemarker匯出Word文件(包含圖片)程式碼實現及總結
本篇是關於利用FreeMarker匯出Word的實現步驟。採用FreeMarker非常的靈活,能夠按照自己指定的樣式設定並輸出內容,操作簡單方便,程式碼實現也容易。 下面是實現的效果圖: 下面是實現步驟: 1.新增FreeMarker需要的jar包(這裡用的是2.3.28版本,從網上的maven倉庫