C 中操作Word文件

2021-05-23 22:21:46 字數 1495 閱讀 4346

今天,在用c#語言開發乙個word報表,在網上看到一些有用的文章,先**過來,自己屯著。

以下來自

參考:http://xb.hzu.edu.cn/qikan/manage/wenzhang/200906014.pdf

在當前專案開發過程中,客戶有根據資料庫資料生成word文件的需求,在和 同事溝通的過程中,找到了兩個解決方案

1.先通過程式生成報表樣式的html頁面,然後修改html頁面的字尾名為doc。

2.定製word文件的模板檔案,在c#中操作word模板,生成新的word文件。

第一方案簡單,只需要改動檔案的副檔名就行了,但是也存在了一些問題,譬如生成的word文件樣式的丟失。這樣對於客戶來說可能是乙個無法通過的方案。第 二方案比較複雜,需要呼叫office的word元件通過c#來操作word,進而生成word。此方法類似於我們在c#中的後台拼接資料。雖然麻煩,但 是能夠靈活定製,只不過是操作word物件而已。

經過再三考慮:決定用第二種方法來生成word報告文件。

通過自己的實踐,這個需求總算是搞定了,在實際開發的過程中,遇到了這樣那樣的問題,還好,通過不斷的查詢網路資源,結合實際開發中的情況,問題都得到了 解決。現將本人在開發過程中的一些理解與經驗總結一下:

在vs2008平台下,引用.net-microsoft.office.interop.word.12,這樣就可以在程式用操作word物件了。

通過簡單執行,報了80070005錯誤,這個錯誤是因為許可權不夠,需要在dcom配置中更改.net和iis使用者的操作許可權,具體修改過程如下: 解決方法一:

1.控制面板-》管理工具-》元件服務-》計算機-》我的電腦-》dcom配置-》找到microsoft word文件之後,單擊屬性開啟此應 用程式的屬性對話方塊。

2.單擊標識選項卡,然後選擇互動式使用者。

3.單擊"安全"選項卡,分別在"啟動和啟用許可權"和"訪問許可權"組中選中"自定義",然後自定義->編輯->新增asp.net賬戶和 iuser_計算機 名。

4. 確保允許每個使用者訪問,然後單擊確定。

5. 單擊確定關閉 dcomcnfg。

如果上述方法不能解決問題,就應該是許可權問題,請嘗試用下面的方法:

在web.config中使用身份模擬,在節中加入

解決了上述問題,開始考慮如何建立word模板檔案,word的模板檔案其實就是通過書籤來新增內容的。也就是通過在word文件中建立書籤,然後在程式 中獲取模板檔案的所有書籤,通過給書籤賦值來進行文件生成的。

在程式中的操作流程如下:

宣告word程式的物件 → 宣告乙個word文件物件 → 獲取當前的操作文件物件 → 獲取文件所有的書籤 → 將資料庫資料賦值到對應的書籤 → 將文件另存為指定的資料夾下.

下面將針對農業植物測試報告來分析具體的**實現:

c 操作word文件

最近由於工作需要,做了一些關於c 操作word文件方面的工作 主要是對word中 的操作,以下是部分 關於操作不規則 的 using system using system.collections using system.componentmodel using system.data using...

C 操作word文件

這裡給大家介紹下如何運用vba來操作word文件內容,開啟關閉word文件。一 什麼是vba 二 c 開啟word操作 定義word物件 word.document d new word.document 找到檔案 object filename 1.docx object filefullname...

C 操作word文件(三)

1.c 呼叫word列印信封 d.printout ref missing,ref missing,ref range,ref missing,ref missing,ref missing,ref missing,ref missing,ref missing,ref missing,ref mi...