日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

在ASP.NET中使用Microsoft Word文档

發布時間:2025/3/17 asp.net 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在ASP.NET中使用Microsoft Word文档 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

[來源]http://www.codeproject.com/useritems/wordapplication.asp

[作者]Michela

[下載本文中使用的演示工程] 工程文件 大小:309 Kb

[介紹]

??? 本文是應在ASP.NET里創建Microsoft Word文檔之需而寫的。這篇文章演示了在ASP.NET里怎么創建和修改Microsoft Word文檔。

[背景]

??? 自動化是一種能讓各種語言編寫的(如:Visual Basic.NET或C#)應用程序在程序級別上控制其他應用程序。
??? 對于Word的自動化允許你執行諸如創建新的文檔,向文檔里添加文本,郵件合并和格式化文檔這些操作。在Word和其他的Microsoft Office程序里,那些通過用戶接口進行的可視化操作也可以通過程序級別的自動化來實現。
??? Word通過對象模型把這個程序可操作的功能向外提供了使用接口。
??? 對象模型是一組類和方法的集合,這些類和方法與Word的邏輯組件構成對應。例如,他可能是應用程序對象,文檔對象,段落對象,每一個對象都包含了Word組件的功能。

[建立工程]

??? 在.NET里操作Word的第一步就是添加COM引用到你的工程里,通過右鍵點擊Solution Explorer的Reference,Add Reference。選擇COM選項卡,查找Microsoft Word 10.0 Object Library。點擊選擇,OK。
??? 這將把封裝有Word的COM的程序集自動的添加到應用程序目錄里。
??? 現在,你可以建立一個Word的實例了:

??? Word.ApplicationClass oWordApp = new Word.ApplicationClass();

??? 你可以調用Word提供給你的方法和屬性來操縱Word文檔。
??? 學習如何使用Word,Excel,Powerpoint的對象模型最好的途徑就是使用在這些Office應用里使用Macro Recorder:

??? 1.在Tools菜單的Macro選項里選擇 Record New Macro ,并且執行你有興趣的任務。
??? 2.在Tools菜單的Macro選項里選擇 Stop Recording。
??? 3.如果你進行了紀錄,選擇Tools菜單的Macro選項里的Macros,找到你記錄的宏,你可以編輯它。

??? 上面的操作產生了VBA代碼來完成你記錄的任務。需要注意的是,宏在大多數情況下不是最好的代碼,但是它提供了一種便捷和可用的方法。
??? 下面例子打開并添加一寫文字:

??? object fileName = "c:\\database\\test.doc";
??? object readOnly = false;
??? object isVisible = true;
??? object missing = System.Reflection.Missing.Value;
??? Word.ApplicationClass oWordApp = new Word.ApplicationClass();

??? Word.Document oWordDoc = oWordApp.Documents.Open(ref fileName, ref missing,ref readOnly,
??? ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
??? ref missing, ref missing, ref isVisible,ref missing,ref missing,ref missing);

??? oWordDoc.Activate();

??? oWordApp.Selection.TypeText("This is the text");
??? oWordApp.Selection.TypeParagraph();
??? oWordDoc.Save();

??? oWordApp.Application.Quit(ref missing, ref missing, ref missing);



如果創建一個新文檔并保存是這樣寫的:

??? Word.ApplicationClass oWordApp = new Word.ApplicationClass();

??? Word.Document oWordDoc = oWordApp.Documents.Add(ref missing, ref missing,ref missing, ref missing);

??? oWordDoc.Activate();

??? oWordApp.Selection.TypeText("This is the text");
??? oWordApp.Selection.TypeParagraph();
??? oWordDoc.SaveAs("c:\\myfile.doc");

??? oWordApp.Application.Quit(ref missing, ref missing, ref missing);

??? 在C#里,Word文檔類的打開方法是這樣定義的:Open(ref object, ref object, ref object, ref object, ref object, ref object, ref object, ref object, ref object, ref object, ref object, ref object, ref object, ref object, ref object)。在C#里的打開方法需要15個參數,并且每個參數必須被ref關鍵字所描述,而且是object類型。
??? 第一個參數是文件,名,在Visual Basic.NET里通常是一個String,但是在在C#里,它必須是一個包含有String的object,代碼是這樣的:

??? object fileName = "c:\\database\\test.doc";

??? 雖然我們僅需要使用Open方法的第一個參數,但是C#不允許使用默認參數,所以我們賦予它14個object類型的值:System.Reflection.Missing.Value

[使用摸版]

??? 如果你需要自動的建立有通用格式的文檔,那你可以使用基于預格式化的摸版來建立新文檔,這樣可以方便很多。
??? 在Word里使用摸版而不是建立空文檔有兩個明顯的優點:

??? 1.你可以更大程度的格式化文檔和控制文檔里的對象。
??? 2.可以用較少的代碼建立文檔。

??? 通過使用摸版,你可以調整表格、段落和其他一些在文檔里的對象的位置,同時包括格式化這些對象。通過使用自動化處理,你可以建立一個基于摸版的文檔,代碼如下:

??? Word.ApplicationClass oWordApp = new Word.ApplicationClass();
??? object oTemplate = "c:\\MyTemplate.dot";
??? oWordDoc = oWordApp.Documents.Add(ref oTemplate, ref Missing,ref Missing, ref Missing);

??? 在你使用的摸版里,你可以定義一些記號,自動化處理將向這些位置填充文本,如下:

??? object oBookMark = "MyBookmark";
??? oWordDoc.Bookmarks.Item(ref oBookMark).Range.Text = "Some Text Here";



使用摸版的另一個優點是你可以創建和保存那些在運行過程中你想要的格式化樣式,如下:

??? object oStyleName = "MyStyle";
??? oWordDoc.Bookmarks.Item(ref oBookMark).Range.set_Style(ref oStyleName);

[使用CCWordApp類]

??? 在工程中包含了CCWordApp.cs這個文件,我不想總是在寫象插入文本,打開文檔這樣的代碼。
??? 所以,我決定把一些最重要的功能封裝到CCWordApp類里去。
??? 下面代碼簡要描述了這個類和他的功能:
???

??? public class CCWordApp
??? {
??? //it's a reference to the COM object of Microsoft Word Application
??? private Word.ApplicationClass oWordApplic;
??? // it's a reference to the document in use
??? private Word.Document oWordDoc;

??? // Activate the interface with the COM object of Microsoft Word
??? public CCWordApp();

??? // Open an existing file or open a new file based on a template
??? public void Open( string strFileName);

??? // Open a new document
??? public void Open( );

??? // Deactivate the interface with the COM object of Microsoft Word
??? public void Quit( );

??? // Save the document
??? public void Save( );

??? //Save the document with a new name as HTML document
??? public void SaveAs(string strFileName );

??? // Save the document in HTML format
??? public void SaveAsHtml(string strFileName );

??? // Insert Text
??? public void InsertText( string strText);

??? // Insert Line Break
??? public void InsertLineBreak( );

??? // Insert multiple Line Break
??? public void InsertLineBreak( int nline);

??? // Set the paragraph alignment
??? // Possible values of strType :"Centre", "Right", "Left", "Justify"
??? public void SetAlignment(string strType );

??? // Set the font style
??? // Possible values of strType :"Bold","Italic,"Underlined"
??? public void SetFont( string strType );

??? // Disable all the style
??? public void SetFont( );

??? // Set the font name
??? public void SetFontName( string strType );

??? // Set the font dimension
??? public void SetFontSize( int nSize );

??? // Insert a page break
??? public void InsertPagebreak();

??? // Go to a predefined bookmark
??? public void GotoBookMark( string strBookMarkName);

??? // Go to the end of document
??? public void GoToTheEnd( );

??? // Go to the beginning of document
??? public void GoToTheBeginning( );

??? 打開一個存在的文件的代碼將是這樣的:

??? CCWordApp test ;
??? test = new CCWordApp();
??? test.Open ("c:\\database\\test.doc");
??? test.InsertText("This is the text");
??? test.InsertLineBreak;
??? test.Save ();
??? test.Quit();

[細節]

??? 演示工程包含:
??? CCWordApp.cs - 上面使用的類
??? CreateDocModel.aspx - 建立基于使用書簽的摸版的新文檔的例子。
??? CreateNewDoc.aspx - 建立新文檔,并向其中添加一寫文本。
??? ModifyDocument.aspx - 打開一個存在的文檔,并在末尾追加一些文本。
??? template\template1.dot - 摸版的例子(在CreateDocModel.aspx中使用到)

??? 注意你用來保存文檔的目錄,應該是可重寫的。
??? 可以在 Web.config 里修改這個路徑。

[參考文獻]

  • Microsoft Word Objects
  • Converting Microsoft Office VBA Macros to Visual Basic .NET and C#
  • HOWTO: Automate Microsoft Word to Perform a Mail Merge from Visual Basic .NET
  • A Primer to the Office XP Primary Interop Assemblies
  • HOWTO: Find and Use Office Object Model Documentation
  • Creating and Opening Microsoft Word Documents from .NET using C#

?


作者Blog:http://blog.csdn.net/tanrui/

轉載于:https://www.cnblogs.com/Godblessyou/archive/2010/07/17/1779644.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的在ASP.NET中使用Microsoft Word文档的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91精品国产综合久久福利软件 | 91sao| 精品人妻一区二区三区日产乱码卜 | 波多野结衣不卡 | 欧美黑人性受xxxx精品 | 美女自拍偷拍 | 亚洲一区在线观 | 8mav在线 | 日本黄区免费视频观看 | 黄色av网址在线观看 | 91操人视频| www.午夜激情| 性生活在线视频 | gav久久 | 精品少妇人妻av免费久久久 | 涩av| 影音先锋亚洲一区 | jizz成熟丰满老女人 | 亚洲一二三 | 99综合视频| 日本少妇色视频 | 国产激情一区二区三区四区 | 囯产精品一品二区三区 | 久久亚洲一区二区三区四区 | 热热色国产 | 成人在线免费小视频 | 岳睡了我中文字幕日本 | 不卡成人 | 无码人妻丰满熟妇啪啪欧美 | 亚洲 小说区 图片区 | 国产精品久久久久影院色老大 | 久久久无码人妻精品一区 | 白白色2012年最新视频 | 亚洲美女久久久 | 日韩中文免费 | 午夜免费福利小视频 | 久一视频在线观看 | 日本人妻一区二区三区 | 国产高潮在线 | 黄色三级带 | av网在线播放 | 99视频+国产日韩欧美 | 久久久久久久久亚洲 | 成人一区二区三区视频 | 日韩网站免费观看 | 毛片少妇 | 精品视频中文字幕 | 日韩欧美中文字幕一区 | 高清av一区二区 | 欧美另类在线观看 | 岳乳丰满一区二区三区 | 免费国产| 日日操夜夜操天天操 | 轮乱 | 日本www色视频 | 51热门大瓜今日大瓜 | 天天槽| 欧美破处大片 | av资源天堂 | 亚洲成a人片777777久久 | 亚洲精品 日韩无码 | 韩国19主播内部福利vip | 免费久久av | 亚洲一级在线播放 | 在线视频亚洲 | 青在线视频 | 暧暧视频在线观看 | 一区二区三区视频在线播放 | 奇米一区二区 | 日韩精品人妻一区二区中文字幕 | 国产自偷自拍视频 | 性感少妇av| xvideos永久免费入口 | 黄色av资源| 国语对白自拍 | 中文字幕11页中文字幕11页 | 久久国产柳州莫菁门 | 亚洲制服一区 | 国产精品无码一区二区三区在线看 | a猛片| 欧美亚洲一区二区三区四区 | 欧美影院久久 | 19禁大尺度做爰无遮挡电影 | 理论片一级 | 国产午夜精品一区二区三区欧美 | 四虎黄色网址 | 91丨九色丨蝌蚪丨老版 | 日韩在线网址 | 亚洲一区二区免费在线观看 | 岛国一区二区三区 | 少妇人妻真实偷人精品视频 | 国产日产精品一区 | 蜜桃av噜噜一区二区三区网址 | 美女av在线免费观看 | 91av福利视频 | 天天干夜夜欢 | 免费日韩视频 | www.日本在线观看 | 大陆农村乡下av |