qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          c#編程實(shí)現(xiàn)word 文檔如何導(dǎo)入SQL Server數(shù)據(jù)庫表中

            操作WORD配置說明
            引入:Word的對(duì)象庫文件“MSWORD.OLB”(word 2000為MSWORD9.OLB)
            1.運(yùn)行Dcomcnfg.exe
            2.組件服務(wù)――計(jì)算機(jī)――我的電腦――DCOM配置――找到microsoft word 文檔
            3.點(diǎn)擊屬性
            4.選擇“安全性”
            5.選定“使用自定義訪問權(quán)限”和“使用自定義啟動(dòng)權(quán)限”
            6.分別編輯權(quán)限,添加Everyone(ASPNET,VS Developers,Debugger User)
            7.選擇“身份標(biāo)識(shí)”,在選定“交互式用戶” 即可
            8.在Web.config里加 identity impersonate="true"/
            C#:
            ASP.NET操作Word文檔一直是一個(gè)大家比較關(guān)心的話題,其實(shí)在ASP.NET里操作Word文檔一點(diǎn)也不難,大家只需按本文提示,就能輕輕松松操作Word文檔!
            一、準(zhǔn)備工作
            首先請(qǐng)確認(rèn)服務(wù)端已經(jīng)安裝了Office Word(以下將以O(shè)ffice XP為例),操作系統(tǒng)為win2000或XP,并且已配置好.NET的運(yùn)行環(huán)境及安裝VS.NET C#開發(fā)環(huán)境后,我們就可以打開VS.NET,并新建一個(gè)Visual C#項(xiàng)目ASP.NET Web應(yīng)用程序,位置為“”。(如圖一)
            二、引用Word對(duì)象庫文件
            要操作Word,我們就需要Word的對(duì)象庫文件“MSWORD.OLB”(word 2000為MSWORD9.OLB),通常安裝了Office Word后,你就可以在office安裝目錄的Office10文件夾下面找到這個(gè)文件,當(dāng)我們將這個(gè)文件引入到項(xiàng)目后,我們就可以在源碼中使用各種操作函數(shù)來操作Word。具體做法是打開菜單欄中的項(xiàng)目添加引用瀏覽,在打開的“選擇組件”對(duì)話框中找到MSWORD.OLB后按確定即可引入此對(duì)象庫文件,vs.net將會(huì)自動(dòng)將庫文件轉(zhuǎn)化為DLL組件,這樣我們只要在源碼中創(chuàng)建該組件對(duì)象即可達(dá)到操作Word的目的!
            三、Webform1.aspx.cs代碼
            完成添加引用后,MSWORD.OLB已經(jīng)轉(zhuǎn)化為相關(guān)DLL文件并放置于項(xiàng)目的BIN目錄下了,這樣我們只需在源碼中創(chuàng)建該對(duì)象,并使用word庫文件內(nèi)置的操作函數(shù)即可輕松實(shí)現(xiàn)操作Word,Webform1.aspx.cs源碼請(qǐng)參見
            五、web.config設(shè)置
            web.config文件還需添加一句 identity impersonate="true"/以啟用模擬身份,因?yàn)槟J(rèn)ASPNET這個(gè)用戶是沒有權(quán)限訪問Word.ApplicationClass(),當(dāng)啟用模擬身份后所有頁面將會(huì)使用匿名Internet用戶帳戶(IUSR_machinename)這個(gè)用戶名的權(quán)限執(zhí)行,這樣我們就能成功訪問Word.ApplicationClass()并在ASP.NET中操作Word!
          //傳文檔所在路徑 返回文檔內(nèi)容
          public string Doc2Text(string docFileName)
          {
          //實(shí)例化COM
          Microsoft.Office.Interop.Word.ApplicationClass wordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
          object fileobj = docFileName;
          object nullobj = System.Reflection.Missing.Value;
          //打開指定文件(不同版本的COM參數(shù)個(gè)數(shù)有差異,一般而言除第一個(gè)外都用nullobj就行了)
          Microsoft.Office.Interop.Word.Document doc = wordApp.Documents.Open(ref fileobj, ref nullobj, ref nullobj,
          ref nullobj, ref nullobj, ref nullobj,
          ref nullobj, ref nullobj, ref nullobj,
          ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj
          );
          //取得doc文件中的文本
          string outText = doc.Content.Text;
          //關(guān)閉文件
          doc.Close(ref nullobj, ref nullobj, ref nullobj);
          //關(guān)閉COM
          wordApp.Quit(ref nullobj, ref nullobj, ref nullobj);
          //返回
          return outText;
          }
            當(dāng)然 在讀取的時(shí)候會(huì)有損壞的文件 和被加密的文件等問題 總之C#和office的兼容性不太好
            別忘了要引用word的dll
            引用文件夾 右鍵添加引用 在組件里找Microsoft.Office.Interop.Word
            讀出了word文檔再把它寫入sql server數(shù)據(jù)庫就可以了

          posted on 2013-09-27 10:35 順其自然EVO 閱讀(346) 評(píng)論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫

          <2013年9月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 宁明县| 胶州市| 三门峡市| 雷州市| 财经| 景德镇市| 营山县| 西盟| 临泉县| 汝阳县| 商都县| 枣阳市| 宜宾市| 岳池县| 湘阴县| 利川市| 忻城县| 醴陵市| 噶尔县| 洞头县| 扎鲁特旗| 安阳县| 象山县| 周宁县| 防城港市| 弋阳县| 渝中区| 富民县| 施甸县| 棋牌| 松江区| 景洪市| 东源县| 瑞安市| 喀什市| 嘉兴市| 连江县| 洪湖市| 紫阳县| 虹口区| 大邑县|