匯出visio2007 匯出vdx方式

2021-09-02 03:06:09 字數 2514 閱讀 4257

參照"使用模板匯出word"的式完成了匯出visio的功能. 這裡為自己記錄下vdx格式的一些說明。

這裡使用的是visio2007

先粘個**

(關於vdx的所有元素說明都可在這裡找到)

1.元素: 縮圖,也就是儲存後的檔案的圖示。其內容是base64加密的資料,size是大小。該元素或size屬性均可省略。

2.元素: 就像它表示的意思一樣,其中定義了一些樣式.

2.元素: 指明了畫布中的元素的預設形式。舉例來說話就是: 如果你畫了乙個"開始"元素到畫布中,那麼中必定也會存在乙個"開始"元素。而畫布中的"開始"元素所沒有的屬性,預設繼承自中的"開始"元素。

2.1元素: 的子元素. 其主要屬性id是乙個由0開始的值,uniqueid是類似於uuid的唯一值,hidden表示此元素是否可見。要注意的是,id不能與其它元素值相同。而其它值採用預設就可以了.

它的示例就像下面這樣

2.1.1元素: 的子元素。其說明的是在頁面中屬性,列印屬性等。其內容一般無須改變。

2.1.2元素: - 的子元素。shape元素的屬性與master基本相同。這裡有下面幾個主要的部分。

2.1.2.1元素: 其定義了圖形的x y座標, 長寬, 以及旋轉的中點座標(好像是)。這裡說下其中幾個元素的預設取值規則, 就是圖形的座標了,預設單位是英吋就是寬高了。而與預設取值為width/2, height/2。其實這裡的值全取預設值就可以了。後面要說的page元素才是影響圖形顯示的元素。

2.1.2.2元素: 其基本意義與意義相似。預設取值方式:txtpinx=width*0.5,txtpiny=height*0.5, txtwidth=width*1, txtheight=height*1, txtlocpinx=txtwidth*0.5,  txtlocpiny=txtheight*0.5

2.1.2.3元素: 表示元素上的連線點, ix屬性是由0開始的值。其座標是相對於元素本身左下角來計算的。例如畫了乙個"開始"元素。那麼這個元素的左下角將被視為起始點:0,0。而4個連線點的預設值則為

左wdith*0,height*0.5, 右width*1,height*0.5, 下width*0.5, height*0, 上width*0.5, height*1

2.1.2.4元素: 此元素就定了當右擊圖形時,彈出出的選單中除了預設顯示的選項外,還會包括此選項

2.1.2.5元素: 此元素說明了圖形是如何被畫出來的,其記錄了畫這個圖形的軌跡。其中moveto表示將點移動到的座標。而根據圖形的型別(形狀)不同,其子元素可能會有line或ellipticalarcto等不同的元素組成。

2.1.2.6元素: 就如果字面意思那樣,表示圖形所顯示的文字。

2.1.3元素: 此圖形的資料。預設即可

masters的主要內容基本就是這些。其實對於masters元素,全部採用預設值即可。

3. pages元素: 此元素就是畫布上的元素以及頁的相關資訊了。

3.1page元素: 頁資訊,其id也是以0開始的累加值,不可與其它page的id相同。其viewscale, viewcenterx, viewcentery屬性分別表示: "顯示的比例",以及開啟此visio時,使用者可見的page的x座標與y座標

3.1.1pagesheet元素:其意義與上面的一樣。但要注意uniqueid屬性,其值具有存在意義。

3.1.2shapes元素: 仍然與上面一樣。但這裡有兩個要注意的shape.乙個是"動態連線線"。"動態連線線"是存在元素的,表明了線的起點與終點,而一般的動態連線線的width=endx-beginx,

height=endy-beginy,但對橫向直線來說,height卻不為0而是乙個固定值0.1968503937007874, geom的lineto的y值確是其的一半0.09842519685039441(不知道為什麼),而對於縱向直接來說wdith也是乙個固定值0.19685039370079同樣的,其lineto的x值也是其一半0.098425196850395。

而對於像是將乙個長方形從中間分開的「動態連線線」就更奇怪了. 如果取其左半部分. beginx與endx相同的話,其width也不是0而是-0.19685039370079,而geom的moveto的x座標也不是0而是其值一半-0.09842519685039364。最後乙個lineto的x也不是0也是-0.09842519685039364。同樣如果取其右半部分,那麼就變為正數。同樣,如果改為取上下的話,那麼改變的就是y值了。這裡真不明白為什麼會這樣。

這裡還有要說明的就是"離頁引用"。 離頁引用具有類似於下面這樣的元素

離頁引用(&f)

aaa000

其中opcshapeid指向的是其自身的shape. opcdshapeid指向的是引用的shape. 而opcdpageid指向的是引用的頁. offpageconnector之中的subaddress指向的是引用的頁的name。

3.1.3元素:  連線線,其表明哪兩個圖形相連。例如:

fromsheet, tosheet就是指當前頁的shape的id了。tocell的值是就是定義的connection. 其它具體含義可以參考 

將HR中的組織架構匯出到visio

在hr中,人事組織架構通常通過treeview的形式展示出來,給人的感覺是 不直觀,不形象,容量也比較少,除了名稱和級聯關係外,再沒有別的資訊了,如果能將它匯出成visio模型釁,那就太好了。以office2013為例。利用visio嚮導匯出組織架構圖 建立乙個excel檔案department.x...

利用NPOI匯出到Excel2007

專案中匯出到excel2003中遇到瓶頸,因為列表資料已經超過了65535行,excel2003乙個工作表中最大只支援65535行,解決的辦法有兩個 1,當資料超過65535行時,新建另乙個工作表,把資料寫入另外的工作表中,下面來介紹一下匯出npoi 1.2.4 版本 匯出到excel2003和np...

c NPOI匯出2007版本excel

2003和2007版本區別 hssfworkbook 2003 iworkbook 2007版本 寫完之後會有個問題,匯出會報錯 流已關閉 npoi生產.xlsx檔案件時,在使用book.write ms 後,會關閉流,這樣導致再次使用respons輸出流的時候就出錯了。我看到一些提供的解決辦法是 ...