成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

C#中怎么利用OpenXML操作Word文檔

C#中怎么利用OpenXML操作Word文檔,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

雙牌網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,雙牌網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為雙牌近千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的雙牌做網(wǎng)站的公司定做!

 OpenXML是微軟官方一個(gè)開源的操作Word、Excel和PPT的SDK,用C#進(jìn)行開發(fā),使用此類庫可以方便的對(duì)office這三類主要文檔進(jìn)行操作,而且還不用安裝Office程序。

以下代碼為打開一個(gè)word文檔:

//WordprocessingDocument打開一個(gè)文檔,_filePath為文檔的路徑

 using (WordprocessingDocument _doc = WordprocessingDocument.Open(_filePath, true))

  { 

  //文檔的主體部分

    Body bod = _doc.MainDocumentPart.Document.Body;

 //文檔中的內(nèi)容部分

    _mainDocPart = _doc.MainDocumentPart; 

   } 

點(diǎn)擊word文檔的選項(xiàng),可以打開word的開發(fā)工具模式,能夠在文檔中添加一些標(biāo)記,從而對(duì)word文檔中的內(nèi)容進(jìn)行開發(fā)。

勾選word文檔的開發(fā)工具選項(xiàng)

C#中怎么利用OpenXML操作Word文檔

word文檔的開發(fā)工具菜單欄

C#中怎么利用OpenXML操作Word文檔

下邊簡(jiǎn)單說一下,如何找到文檔中的一個(gè)的圖片標(biāo)記,并進(jìn)行圖片替換;

首先,在word文檔中,添加一個(gè)圖片標(biāo)記,使用開發(fā)工具=》控件=》圖片內(nèi)容控件,在彈出的窗口中,在標(biāo)記欄中添加唯一的可標(biāo)示字符串;

C#中怎么利用OpenXML操作Word文檔

C#中怎么利用OpenXML操作Word文檔

添加完控件后,在C#程序中,通過Descendants的Linq搜索,找到文檔中所有的標(biāo)記,再根據(jù)標(biāo)記進(jìn)行外部圖片的替換。

 using (WordprocessingDocument _doc = WordprocessingDocument.Open(_filePath, true))

  { 

  //文檔的主體部分

    Body bod = _doc.MainDocumentPart.Document.Body;

 //文檔中的內(nèi)容部分

    _mainDocPart = _doc.MainDocumentPart; 

//查找所有的標(biāo)記元素

 var _sdtList = bod.Descendants<SdtElement>();

//根據(jù)標(biāo)記的名稱,查找文檔中的元素

 var _evEle= _sdtList .FirstOrDefault(p => p.SdtProperties.GetFirstChild<Tag>().Val.ToString().Contains("唯一標(biāo)記"));

//找到Blip,這是指向文件的標(biāo)示碼

DocumentFormat.OpenXml.Drawing.Blip ImageBlip = _evEle.Descendants<DocumentFormat.OpenXml.Drawing.Blip>().FirstOrDefault();

//從文檔中找到圖片

var imagePart = (ImagePart)_mainDocPart.GetPartById(ImageBlip.Embed.Value);

//替換成外部的圖片,_basePath為外部圖片的路徑

 using (FileStream fs = File.Open(_basePath, FileMode.Open))

   {

   imagePart.FeedData(fs);

    }

  } 

看完上述內(nèi)容,你們掌握C#中怎么利用OpenXML操作Word文檔的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

分享標(biāo)題:C#中怎么利用OpenXML操作Word文檔
轉(zhuǎn)載注明:http://jinyejixie.com/article10/podcdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、ChatGPT網(wǎng)站收錄、品牌網(wǎng)站制作做網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化