一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

Visual Studio 2010特性支持Office

  一位漂亮的OL把Word當做文字處理軟件來使用,這無可厚非;但是如果一位帥氣的Developer也僅僅把Word當做文字處理軟件來使用,恐怕會被同行恥笑。在程序員的眼中,Office不僅僅是一套非常流行的辦公軟件,更是一個成熟的開發平臺。Office的應用是如此廣泛,幾乎深入到企業信息化和個人文檔處理的每個角落。通過Office開發,可以幫助企業或者個人完成很多重復性的工作,規律性的工作甚至創造性的工作,正是因為如此,Office開發在軟件開發中顯得越來越重要,已經成為商業軟件開發的一個重要領域。

  為了支持Office開發,無論是從上層的二次開發語言VBA,還是底層的Office開發工具VSTO(Visual Studio Tools for Office),微軟都給予了大力的支持。我們這里按下VBA不表,單說這Visual Studio 2010 CTP中新特性對Office開發的支持。

  有道是“櫻桃好吃樹難栽,Office好用開發難”。做過Office開發的程序員常常會有這樣的抱怨:“這個垃圾C#,連個可選參數都不支持!”
  “COM接口太復雜繁瑣啦,我都快被折磨死了!”“告訴客戶,他的機器上必須也安裝Office 2003!Office 2007不支持!!!!!”

  這是因為Office整個系統本身非常龐雜,Office對象模型難于全部掌握,開發語言對Office開發支持不夠等等,這些都使得Office開發就像一頭笨重的大象,雖然穩定,但是行動卻有些遲緩,開發效率不高。

  不過這些抱怨很快就會成為歷史了。在Visual Studio 2010 CTP中,它提供了很多新的特性,來解決上述的這些Office開發中的主要問題,以更好地支持Office開發。當然,這些特性也可以應用在其他場合。這些新的特性包括:

  1. 動態編程
    在前面的文章中我們曾經介紹過,C# 4.0中引入了一種新的靜態類型dynamic,這使得我們在使用COM進行Office開發的時候,無需再進行復雜而繁瑣的對象類型轉換。
  2. 可選參數
    Office提供的函數往往有很多參數,在大多數情況下,很多參數使用默認值就可以了,無需全部指定。但是在C# 3.0中,因為它不支持可選參數,導致每次調用函數都必須給定全部參數,代碼繁瑣而臃腫。C# 4.0通過對可選參數的支持,很好地解決了這一問題。
  3. No-PIA部署
      以前的Office開發,都要求目標機器(用戶機器)上同樣安裝了Office,有時甚至對Office的版本還有特殊的要求。這給Office程序的部署帶來了極大的困難:目標機器千差萬別,有的安裝了Office,有的沒有安裝,安裝了Office的機器,Office版本又各不相同。在Visual Studio 2010中,因為有了No-PIA部署的支持,這些問題都得到了很好的解決。

  有了上述特性的支持,Visual Studio 2010中Office開發開始變得簡潔而自然。為了讓大家有更加深刻的體會,下面我們以一個實際的例子,來看看這些新特性是如何更好地支持Office開發的。在這個例子中,我們將創建一個表示銀行賬號的類,然后用這個類的數據填充一個Excel表格,最后將這個表格嵌入到一個Word文檔中。(這里需要說明的是,雖然有了No-PIA部署的支持,目標機器上無需安裝Office,但是開發機器上還是需要安裝Office的。)

  1. 創建Office開發項目OfficeDev

  啟動Visual Studio 2010 CTP,我們創建一個基于Visual C#的控制臺應用程序(Console Application),同時確保目標平臺是“.NET Framework 4.0”:

圖1 創建Office開發項目

 

  要使用托管代碼調用 Office 應用程序功能,必須使用互操作程序集。互操作程序集使托管代碼可以與 Office 應用程序的基于 COM 的對象模型進行交互。所以在項目創建完成后,為了進行Office開發,我們需要在項目中添加Office互操作程序集的引用。在解決方案瀏覽器(Solution Explorer)中的項目節點上,我們單擊右鍵,在彈出的上下文菜單中我們選擇“添加引用(Add Reference)”。在彈出的對話框中,我們選中.NET標簽頁中的Microsoft.Office.Interop.Excel, version 12.0和Microsoft.Office.Interop.Word, version 12.0,單擊“OK”將它們添加到剛剛創建的項目OfficeDev中。

圖2 添加互操作程序集

  2. 創建和準備銀行賬號類Account

  在OfficeDev項目中,我們新建一個類Account,用來表示銀行賬號。我們將這個類實現如下:

public class Account {
public string Name { get; set; }
public double Balance { get; set; }
}

  4. 將Excel表格嵌入Word文檔

  Excel表格填充完成后,我們將這個表格嵌入到Word文檔中。在主函數Main()的末尾添加如下代碼,它將創建一個空的Word文檔,然后通過調用函數PasteSpecial(),將Excel表格以鏈接的形式粘貼到Woed文檔中:

var word = new Word.Application();
word.Visible
= true;
word.Documents.Add();
word.Selection.PasteSpecial(Link:
true, DisplayAsIcon: true);

NET技術Visual Studio 2010特性支持Office,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 小泽玛利亚一区二区三区免费 | 亚洲国产中文字幕在线观看 | 久久伊人热精品老鸭窝 | 色视频免费 | 91精品免费国产高清在线 | 日本道综合一本久久久88 | 国产亚洲第一页 | 国产欧美在线观看精品一区二区 | 激情图片小说网 | 色爱区综合激月婷婷激情五月 | 九九亚洲精品 | 美女又胸大又黄的网站 | 欧美成人网在线综合视频 | 色综合网站在线 | 国产一级在线观看www色 | 五月婷婷开心网 | 久久九九久精品国产 | 男人插女人视频网站 | 国产叼嘿久久精品久久 | 一区二区三区在线观看免费 | 91免费版视频 | 亚洲合集 | 亚洲第一综合网站 | 成人永久免费视频 | 国内一级特黄女人精品毛片 | 亚洲欧美综合另类图片小说区 | 日本精品中文字幕在线播放 | 亚洲六区 | 天堂成人精品视频在线观 | 91欧美在线视频 | 国产欧美日韩综合精品无毒 | 国产精品久久99 | 欧美成人免费全部观看天天性色 | 看全色黄大色大片免费久久久 | 久久综合网久久综合 | 国产精品91在线 | 激情五月视频 | 日韩在线观看中文字幕 | 94欧美setu | 91秒拍国产福利一区 | 国产大片线上免费观看 |