生成word文件的類庫有很多,常用的有jacob,itext等等,itext只能支援word的部分功能,itext-rtf-2.1.7.jar 沒有持續更新,itext 不支援在word文件中顯示位置指定x,y值,不支援**的單元格畫圖(如畫單元格斜線)
wordml語法非常複雜,因為
word
有非常多的功能,但可以根據使用場景去生成部分
xml,可查詢官方文件對
wordml
的元素定義,例如
table
,,浮動層文字、等。
乙個類似浮動層文字基本的wordxml結構是如下:
<?xml version="1.0" encoding="utf-8"?>test
可以用記事本建立乙個檔案,將上面的
xml內容貼上,並儲存為
test.doc
,則開啟
word
會解析xml
為doc
文件。
word
命名空間如下:
public inte***ce wordml
base64資料
word 中table對應的xml元素:
element tbl = new defaultelement(new qname("tbl", wordml.ns_w));
element tblpre = tbl.addelement(new qname("tblpr", wordml.ns_w));
element tblwe = tblpre.addelement(new qname("tblw", wordml.ns_w));
tblwe.addattribute(new qname("w", wordml.ns_w), "0").addattribute(new qname("type", wordml.ns_w), "auto");
建立table
中tr:
element tr = new defaultelement(new qname("tr", wordml.ns_w));
element trpr = new defaultelement(new qname("trpr", wordml.ns_w));
element trheight = trpr.addelement(new qname("trheight", wordml.ns_w));
trheight.addattribute(new qname("val", wordml.ns_w), string.valueof(height));
建立table中td,單元格合併:
element tc = new defaultelement(new qname("tc", wordml.ns_w));
element tcpr = tc.addelement(new qname("tcpr", wordml.ns_w));
element tcw = tcpr.addelement(new qname("tcw", wordml.ns_w));
float width = cell.getwidth() * wordml.ptw_value;
tcw.addattribute(new qname("w", wordml.ns_w), string.valueof(width));
tcw.addattribute(new qname("type", wordml.ns_w), "dxa");
element tcborders = tcpr.addelement(new qname("tcborders", wordml.ns_w));
if (stringutil.isnotempty(cell.getverticalalignment()))
if (cell.getbackgroundcolor() != null)
if (cell.getcolspan() > 1)
if (cell.isrestart())
if (cell.isvmerge())
原文出處:
word 生成目錄
裝載 電腦技術角 百家號18 05 1219 40 用 word 編排好一本書後,不用製作目錄,可以用自動生成的方法生成,那麼word2016目錄怎麼自動生成呢?如果要自動生成目錄,排版時就要設定好章節,如果等排版好一本後再設定章節將再花費大量時間。設定章節主要是指不同的章節使用不同的標題,例如 第...
Java根據word模板生成word文件之總結
至此word生成就完事了,我寫的有點粗,但是應該能看到的懂,沒有經過重構,很亂,而且方法體應該還需要調整,但是不影響我們的功能實現。通過這一整套流程,其實完全可以做成乙個元件式的東西,我現在沒有時間去考慮他,大家有時間好好考慮一下,完全做到可配置話的,我現在能做到單個標籤,的定義即可配置化,但是如果...
C 根據Word模版生成Word檔案
指定的word模版 2,生成word類 新增com microsoft word 11.0 object library 引用 usingsystem usingsystem.collections.generic usingsystem.data usingsystem.windows.forms...