OpenXml 域變數更新

2022-03-05 07:43:47 字數 1562 閱讀 4443

用過office com組建,aspose.word操作word,最近專案中也開始用,又原來的com轉到aspose,在從aspose轉到openxml。

大體上處理的方式都是一樣的 。

下面介紹一下在openxml中更新域變數的內容,因為至今為發現有什麼好的方法可以直接更新域。在其他的方式中更新域相對簡單一些,可以直接通過document.range.updatefields();更新域資訊。而在openxml中我們發現無法找到直接更新域資訊的內容。只有用最笨的方式操作了。

首先我們知道word中的變數儲存位置在setting中。 我們首先獲取變數資訊。通過如下方法:

view code

1

///2

///獲取文件所有變數

3///

4///

設定變數內容document

5///

6private

static dictionarygetallvariables(openxmlelement setting)717

return

dic;

18 }

我們要更新域變數,所以我們要更新的是變數的內容。 這裡我們通過xml分析得出,域資訊格式為:如下圖:

這樣我們不難發現我們所要更新的域資訊為w:t 通過如下**即可完成更新域的操縱。

///

///更改域資訊

/// ///

文件內容

public

static

void

updatefield(body body)

break

;

case

6: //

重新設定域

var updatefieldvalue = run.oftype().firstordefault();

if (updatefieldvalue != null

)

break

; }

}fieldchar = run.oftype().firstordefault(p => p.fieldchartype ==fieldcharvalues.end);

if (fieldchar == null) continue

; flag = false; //

找到域尾

count = 0

; value = string

.empty;

datatype = string

.empty;}}

}

通過上述操作即可完成openxml的域變數更新問題。

不才不清楚是否還有更好的方式處理openxml的域更新問題,也希望有這方面經驗的大俠指點!

變數儲存域

變數儲存域 2010 09 23 15 43 1.1 變數儲存域 1.1.1 乙個示例 pang123hui首先提供了乙個網上流傳的學習 示例 int a 0 全域性區 void main int b 棧 char s abc s在棧,abc在文字常量區 char p1,p2 棧 char p3 1...

變數作用域

python任何變數都有其特定的作用域 在函式內部的變數一般只能在函式內部使用,這些只能在程式特定的區域使用的變數稱為區域性變數.在乙個檔案頂部,在函式的外部定義的變數,可以供該檔案的任何函式呼叫,這樣的變數稱為全域性變數 區域性變數和全域性變數的關係 區域性變數可以通過global關鍵字強制宣告為...

變數作用域

1 全域性變數 定義在函式外邊的變數,通常函式是無法直接獲取到外部變數的,需要獲取時得需要在函式裡加global方法 例如在外部定義乙個a 5 fu ncti onte st sum 此時是無法直接獲取到a的 方法就 是 fu ncti onte st sum echo test 2 靜態變數 st...