日韩性视频-久久久蜜桃-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文档的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 依依成人在线 | 欧美国产精品一区二区三区 | 不卡精品视频 | 97人人爽人人 | 亚洲一级影片 | 国产三级三级三级 | 无码国产精品一区二区免费式直播 | 欧美午夜免费 | 免费观看成年人视频 | 天天摸日日摸 | 成年网站免费观看 | 免费观看一区二区三区毛片 | 午夜国产精品视频 | 国产日韩中文 | 国产人人看 | 国产xxxx孕妇| 成人影片在线 | 伊人22| 99久久精品日本一区二区免费 | 久久免费精品国产 | 天天躁日日躁狠狠躁伊人 | 中文字幕免费高清视频 | 欧美伦理在线观看 | 丰满岳妇伦在线播放 | 国产精品久久久久久久久久久久久久久 | 三级成人在线 | 自拍偷拍第2页 | 色涩视频在线观看 | 亚洲激情视频网 | 中文字幕在线免费 | 国产亚洲综合在线 | 69视频在线播放 | 综合视频一区二区 | 泽村玲子在线 | 超碰2022| 国产区一区二区三区 | 亚洲中文字幕一区二区 | 欧洲视频一区二区三区 | 中文字幕在线观看视频一区二区 | 狠狠干在线观看 | 午夜黄色在线观看 | 日本天堂网| 成人无码www在线看免费 | 日本黄网站 | 日本一级大毛片a一 | 久久久久久国产精品三区 | av在线播放器 | 超碰女人 | 日韩高清成人 | 黄色片子免费看 | 日韩在线一区二区三区四区 | 91宅男| 免费国产黄 | 黄色69 | 亚洲天天视频 | 99日韩| 国产精品一二三四五区 | 精品一区二区在线观看 | 日本视频色 | 国产午夜精品福利视频 | 久久99精品国产91久久来源 | 欧美又粗又长 | 亚洲高清影院 | 人妻精品久久久久中文 | 国产精品成人69xxx免费视频 | 欧美在线一区二区视频 | 麻豆视频网页 | 亚洲av无码一区二区三区dv | 亚洲一区二区三区免费看 | 91在线视频国产 | 中文字幕免费一区 | 成人精品一区日本无码网 | 色欧美视频 | 韩国明星乱淫(高h)小说 | 夜夜嗨老熟女av一区二区三区 | 三级福利片 | 天天网综合 | 成人区人妻精品一熟女 | 亚洲砖区免费 | 欧美性做爰毛片 | 亚洲乱码一区二区三区 | 国产精品伦一区二区三区 | 亚洲性生活片 | 粗大黑人巨茎大战欧美成人 | 日韩欧美片 | 99色网 | 婷婷视频 | 国产原创在线 | 色丁香久久 | 一级片在线免费观看视频 | 国产午夜在线一区二区三区 | 日本美女影院 | 国产顶级毛片 | 成人区人妻精品一区二区不卡视频 | 亚洲综合图片区 | 久久国产精品区 | xxxx日本黄色 | 亚洲av无码一区二区三区在线播放 | 国产精品波多野结衣 |