最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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);

或者要打開一個新的文檔然后保存它:
復(fù)制代碼 代碼如下:

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關(guān)鍵字為前綴而且每個參數(shù)都必須是Object類型的。因為第一個參數(shù)是一個文件名,通常在Visual Basic.NET中的一個String值,我們必須聲明一個Object類型的變量來保存C#的string值,代碼如下:

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

使用模板
如果你使用自動化來創(chuàng)建都是一致格式的文檔,使用預(yù)定義模板來處理新的文檔將會很方便。在你的Word自動化客戶程序中使用模板與不用模板相比,有兩個顯著的優(yōu)點:
·對于你文檔的格式和對象位置上你可以擁有更多的控制權(quán)
·你可以使用更少的代碼來建立你的文檔
通過使用模板,你可以調(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)建你希望在運行時應(yīng)用的存儲格式風(fēng)格,如下:

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

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();
細(xì)節(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#

相關(guān)文章

  • asp.net GridView導(dǎo)出到Excel代碼

    asp.net GridView導(dǎo)出到Excel代碼

    asp.net GridView導(dǎo)出到Excel代碼,需要的朋友可以參考下。
    2009-07-07
  • .NET?Core使用Worker?Service創(chuàng)建服務(wù)

    .NET?Core使用Worker?Service創(chuàng)建服務(wù)

    這篇文章介紹了.NET?Core使用Worker?Service創(chuàng)建服務(wù)的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • .net core使用FastHttpApi構(gòu)建web聊天室實例代碼

    .net core使用FastHttpApi構(gòu)建web聊天室實例代碼

    這篇文章主要給大家介紹了關(guān)于.net core使用FastHttpApi構(gòu)建web聊天室的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • ASP.NET中實現(xiàn)中文簡/繁體自動轉(zhuǎn)換的類

    ASP.NET中實現(xiàn)中文簡/繁體自動轉(zhuǎn)換的類

    這篇文章主要介紹了ASP.NET中實現(xiàn)中文簡/繁體自動轉(zhuǎn)換的類,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2006-09-09
  • 國產(chǎn)化之銀河麒麟安裝.NetCore包管理器方式(步驟詳解)

    國產(chǎn)化之銀河麒麟安裝.NetCore包管理器方式(步驟詳解)

    這篇文章主要介紹了國產(chǎn)化之銀河麒麟安裝.NetCore-包管理器方式,本文給大家分享安裝步驟及安裝命令,對銀河麒麟安裝.NetCore相關(guān)知識感興趣的朋友一起看看吧
    2022-03-03
  • 30 分鐘掌握無刷新 Repeater

    30 分鐘掌握無刷新 Repeater

    經(jīng)過數(shù)個版本的迭代后, JQueryElement 3.3.0 版本中的 Repeater 基本上已經(jīng)完善, 這里將分功能的總結(jié)講解一下 Repeater 的使用方法
    2011-10-10
  • the sourcesafe database has been locked by the administrator之解決方法

    the sourcesafe database has been locked by the administrator

    今天早上打開soucesafe的時候出現(xiàn)提示:“the sourcesafe database has been locked by the administrator"。仔細(xì)想想, 可能是前天晚上用"f:\analyze.exe" -I- -DB -F -V3 -D "f:\vssData\data" 命今分析的時候鎖定了database
    2009-04-04
  • 使用grpcui測試ASP.NET core的gRPC服務(wù)

    使用grpcui測試ASP.NET core的gRPC服務(wù)

    這篇文章介紹了使用grpcui測試ASP.NET core gRPC服務(wù)的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • Asp.Net 程序錯誤Runtime Error原因與解決

    Asp.Net 程序錯誤Runtime Error原因與解決

    提示這個,不管怎么改配置文件的設(shè)置都不行,下面是修正方法,大家可以試試。
    2010-03-03
  • docker部署Asp.net core應(yīng)用的完整步驟

    docker部署Asp.net core應(yīng)用的完整步驟

    這篇文章主要給大家介紹了關(guān)于docker部署Asp.net core應(yīng)用的完整步驟,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Asp.net core具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05

最新評論

桦南县| 新龙县| 获嘉县| 临泽县| 曲沃县| 福安市| 永仁县| 自贡市| 瓮安县| 灵台县| 抚松县| 集安市| 丰城市| 门源| 都昌县| 庆安县| 鄂托克旗| 安化县| 金湖县| 留坝县| 太原市| 罗山县| 嘉黎县| 新巴尔虎右旗| 电白县| 贡觉县| 辉县市| 准格尔旗| 体育| 米易县| 读书| 兰州市| 探索| 北辰区| 伊春市| 曲沃县| 襄樊市| 长白| 诸暨市| 灵川县| 江北区|