提取碼:iwro
在公司工程中,有好多需求需要用到匯出word檔案,走過好多路,最早用的csdn上乙個vb寫的庫匯出word,完成當時乙個緊迫專案
後來繼續研究報表時,用了qt的com元件呼叫庫,來呼叫微軟的office元件進行報表匯出,此功能要求電腦必須裝了office,並且office com元件一定要能檢測到,否則也是不行的,後來更改為這個,基本滿足需求,但是隨著需求增加,一些問題也暴露出來,有些客戶有規定,要求客戶電腦不能安裝office,採用國產wps,那麼此方法肯定就不行了,並且還乙個問題是,匯出的報表中,數量增加,採用com元件方式生成word報表,匯出速度特別慢,當時在網上找了好多方法,沒有特別好的解決辦法,後來看到微軟的office2003以後,word格式採用的xml形式進行組合的
測試步驟:
1、把檔名.docx 改為 檔名.zip
2、解壓 檔名.zip 可以得到 _rels docprops word 資料夾等,還有[content_types].xml檔案
其中word檔案下document.xml是存放檔案內容的,修改裡面的節點內容,然後 重新進行zip壓縮,更改為.docx 你可以欣喜的發現,word裡的內容跟著變了
3、 繼續剛才的,word下還乙個資料夾為media資料夾,你可以看到這裡面存放的是,如果你的word有插入的話,引用的會在這裡展示出來,如果你要新增,
把你要插入的先放入這個資料夾下(具體怎麼操作,自己總會吧,複製檔案從乙個地方到另個地方),然後要修改document.xml檔案,在哪顯示就在哪修改,但是 還得注意一點,在document.xml 中顯示這個的話,必須得知道的名字和位置,media下的檔案命名一般都是image1.png image2.png順序下去的,你放進去的命名不要重複,並且放進去後,必須在word資料夾下_rels資料夾下的檔案document.xml.rels進行註冊,這個也是xml檔案,格式我想你如果動手了的話,應該是可以看懂得,最後拿著這個檔案中註冊id名稱,例如rid213,去document.xml去使用就可以了,當然document.xml中的節點格式也是固定的,你複製乙個現有的格式參考,更改引用的id值就可以。
另外,要注意的是,格式的問題,格式必須在最外層的[content_types].xml檔案進行註冊,否則開啟word會報錯的,這個檔案時包裝所有xml檔案的
具體實現思路,如果只是更改或者展示資訊的話,修改document.xml就可以了,複雜點的,要插入的,就涉及上面提到的幾個檔案了,在複雜的,得你們自己摸索的,這邊專案只涉及這麼多,檔案修改完,開源7z進行壓縮,更改檔名 等等 思路給你們,具體怎麼搞 你們自己定
測試過word中,如果有200張的話,一般要15秒左右,越多,耗得時間越長,如果只是文字,沒有的話,基本1秒搞定,時間都是耗在7z壓縮了,越大時間越慢,如果用com元件方式,不管多少資料量,一般3秒以上是肯定的,並且越多,速度比這方式慢10倍以上
c 操作Word總結
第一 網頁生成數學公式和特殊符號儲存和顯示比較麻煩 如何操作word生成數學公式,有待測試 第二 生成word版的報告更容易存檔和沒有環境下的傳閱及列印 第三 客戶直接操作word感覺更親切,而且非常熟悉 msdn上的word操作api 不過只有英文版,英文差的先閃過 word2007的api wo...
使用總結 Word基本操作
2.word中重複上一步操作的快捷鍵f4 3.word中設定自動 標題 主要分為兩個步驟 設定標題樣式,關鍵在於修改樣式中樣式基準選擇上一級的樣式,比如二級標題的樣式基準選擇一級標題 後續段落樣式一般選擇正文 樣式型別選擇段落,word中的三種央視型別分別為 段落樣式,字元樣式,鏈結段落和字元樣式 ...
word文件操作
1 如何把word文件修改的地方標記出來 2 word 的幾種 檢視 a 頁面檢視 常用 顯示文件的列印外觀,可以 所見即所得 的進行設計,輸入輸出 c web版式 用web版式檢視效果 d 大綱檢視 常用 用它可以編輯文件結構 d 普通檢視 只顯示文字,而且頁面之間也不是真正的分開了,而是被一根水...