亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

從ASP.NET得到Microsoft Word文檔的代碼

 更新時間:2011年06月10日 00:04:15   作者:  
這篇文章是應在一個ASP.NET項目中建立Microsoft Word文檔的需要而寫的。本文描述了怎樣使用ASP.NET來創(chuàng)建和修改Microsoft Word文檔。
背景
自動化(Automation)是一個過程,它允許編程語言譬如Visual Basic.NET或C#寫的應用程序可以編程控制其它應用程序。自動化到Word允許你執(zhí)行像創(chuàng)建新文檔,向文檔中添加文本,郵件合并,還有控制文檔格式這樣的操作。使用Word和其它Microsoft Office應用程序,幾乎所有你能在用戶面板上手動實現(xiàn)的操作都可以通過自動化編程實現(xiàn)。Word通過一個對象模型來實現(xiàn)這個編程功能性(programmatically functionality)。對象模型是一系列類和方法,它們提供和Word的邏輯組成部分相似的服務。例如,一個應用程序?qū)ο?,一個文檔對象,和一個段落對象,這些每個都包含著Word的相應組成部分的功能性。

項目
在.NET中操作Word的第一步,你需要在你的項目中添加一個COM引用,這通過右擊解決方案窗口中的引用->添加引用。單擊COM標簽尋找Microsoft Word 10.0 Object Library。單擊“選擇”添加,單擊“確定”返回。
這會自動在你的應用程序文件夾中放置一個程序集(assembly)將COM接口邦定到Word。
現(xiàn)在,你可以生成一個Word應用程序的實例了。

Word.ApplicationClass oWordApp = new Word.ApplicationClass();
你可以調(diào)用Microsoft Word提供給你的很有趣的方法和屬性來操作Word格式的文檔。學習怎樣操縱Word,Excel和PowerPoint對象模型最好的方法就是,在這些Office應用程序中使用宏錄制器:
1、在“工具”菜單中的“宏”選項中選擇“錄制新宏”,然后執(zhí)行你感興趣的任務。
2、在“工具”菜單中的“宏”選項中選擇“停止錄制”。
3、一旦你完成了錄制,選擇“工具”菜單中的“宏”選項下的“宏”,選擇你錄制的宏,單擊“編輯”。
這將將你帶入生成的VBA代碼,這些代碼完成了你記錄的任務。注意記錄下的宏在多數(shù)情況下不是最好的代碼,但它提供了一個快速和可用的例子。
例如要打開一個存在的文件加入一些文本:
復制代碼 代碼如下:

object fileName = "c:\\database\\test.doc";
object;
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方法定義為: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#的Open方法接受15個必要參數(shù),每個參數(shù)都必須以ref關鍵字為前綴而且每個參數(shù)都必須是Object類型的。因為第一個參數(shù)是一個文件名,通常在Visual Basic.NET中的一個String值,我們必須聲明一個Object類型的變量來保存C#的string值,代碼如下:

object fileName = "c:\\database\\test.doc";
盡管我們在Open方法中只需要使用第一個參數(shù),但是記住C#不允許可選參數(shù),所以我們以Object類型的變量的形式提供余下的14個參數(shù),它們保存System.Reflection.Missing.Value的值。

使用模板
如果你使用自動化來創(chuàng)建都是一致格式的文檔,使用預定義模板來處理新的文檔將會很方便。在你的Word自動化客戶程序中使用模板與不用模板相比,有兩個顯著的優(yōu)點:
·對于你文檔的格式和對象位置上你可以擁有更多的控制權
·你可以使用更少的代碼來建立你的文檔
通過使用模板,你可以調(diào)整文檔中表格、段落還有其它對象的位置,還有也可以調(diào)整這些對象的格式。通過使用自動化,你可以創(chuàng)建一個基于你的模板的文檔,而只用如下的代碼:

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";
使用模板的另一個優(yōu)點是你可以創(chuàng)建你希望在運行時應用的存儲格式風格,如下:

object oStyleName = "MyStyle";
oWordDoc.Bookmarks.Item(ref oBookMark).Range.set_Style(ref oStyleName);
使用CCWordApp類
這個項目包含一個文件:CCWordAPP.cs。我不想每次都寫代碼來插入文本,打開一個文件,等等……所以我決定寫一個CCWordApp類來包括多數(shù)重要的方法。下面是對這個類和它的方法的簡要描述。
復制代碼 代碼如下:

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();
細節(jié)
示例項目包括:
CCWordApp.cs - the class
CreateDocModel.aspx: 創(chuàng)建一個基于模板的文檔和使用書簽的例子。
CreateNewDoc.aspx: 創(chuàng)建一個文檔和插入一些文本的例子。
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#

相關文章

  • Asp.Net Core對接釘釘群機器人的完整步驟記錄

    Asp.Net Core對接釘釘群機器人的完整步驟記錄

    這篇文章主要給大家介紹了關于Asp.Net Core對接釘釘群機器人的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-03-03
  • ASP.NET Session對象保持會話使用說明

    ASP.NET Session對象保持會話使用說明

    ASP.NET提供了Session對象,從而允許程序員識別、存儲和處理同一個瀏覽器對象對服務器上某個特定網(wǎng)絡應用程序的若干次請求的上下文信息
    2012-12-12
  • asp.net頁面生命周期詳解

    asp.net頁面生命周期詳解

    這篇文章主要介紹了asp.net頁面生命周期的解釋,大家參考使用吧
    2014-01-01
  • 詳解.Net單元測試方法

    詳解.Net單元測試方法

    本篇文章給大家詳細講述了.NET單元測試的詳細方法和步驟,有需要的朋友參考學習下。
    2018-07-07
  • ASP.Net Core3.0中使用JWT認證的實現(xiàn)

    ASP.Net Core3.0中使用JWT認證的實現(xiàn)

    這篇文章主要介紹了ASP.Net Core3.0中使用JWT認證的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • .NET Core自定義配置文件

    .NET Core自定義配置文件

    這篇文章介紹了.NET Core自定義配置文件的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • Asp.net實時顯示文本框字數(shù)實現(xiàn)代碼

    Asp.net實時顯示文本框字數(shù)實現(xiàn)代碼

    實時顯示文本框字數(shù)在日常開發(fā)中很常見,也很實用,接下來為大家介紹下如何實現(xiàn)實時顯示,感興趣的朋友可以參考下哈,希望可以幫助到你
    2013-04-04
  • 微信公眾平臺開發(fā)之地理位置.Net代碼解析

    微信公眾平臺開發(fā)之地理位置.Net代碼解析

    這篇文章主要為大家詳細解析了微信公眾平臺開發(fā)之地理位置.Net代碼,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Asp.Mvc?2.0實現(xiàn)用戶注冊實例講解(1)

    Asp.Mvc?2.0實現(xiàn)用戶注冊實例講解(1)

    這篇文章主要介紹了Asp.Mvc?2.0如何實現(xiàn)用戶注冊,實例講解很細致,注冊功能是每個網(wǎng)站必不可少的組成部分,感興趣的的朋友可以參考下
    2015-08-08
  • asp.net 頁面逐步呈現(xiàn)的方法總結

    asp.net 頁面逐步呈現(xiàn)的方法總結

    分塊編碼 ( chunked encoding )就是讓 response 分塊編碼進行傳輸。response 分塊編碼,可以先傳輸一部分不需要處理的 html 代碼到客戶端,等其他耗時代碼執(zhí)行完畢后再傳輸另外的 html 代碼。
    2010-06-06

最新評論