天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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,轉載需保留來源!

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

主站蜘蛛池模板: 亚洲黄色免费在线观看 | 中文字幕网站在线观看 | 99精品国产免费久久久久久下载 | 成视频高清| 好大好硬好湿再深一点网站 | 久久影院一区 | 中文字幕本庄优花喂奶 | 蜜芽一二三区 | 91精品乱码一区二区三区 | 日日干夜夜艹 | 午夜想想爱午夜剧场 | 黄页网站18以下勿看免费 | 99久久免费国内精品 | 窝窝影院午夜看片毛片 | 无限资源在线观看8 | 国产成人99久久亚洲综合精品 | 久久91精品国产91久 | 狠狠色噜噜狠狠狠狠米奇777 | 扒开 浓密 毛 | 真实国产乱子伦精品一区二区三区 | 旧里番YY6080在线播放 | japonensis护士| 激情床戏视频片段有叫声 | 一二三四在线视频社区 | 内射人妻无码色AV麻豆去百度搜 | 九九热这里只有精品视频免费 | 亚洲男人天堂网 | 免费看男人J放进女人J无遮掩 | 玖玖热视频一区二区人妻 | 久久免费精品一区二区 | 快播金瓶梅 | 日韩高清在线亚洲专区 | 久青草国产观看在线视频 | 日韩高清特级特黄毛片 | 国产在线精品视频免费观看 | 欧美aa级片| 亚洲精品一区国产欧美 | 亚洲高清无在码在线无弹窗 | 好大好硬好湿再深一点网站 | 果冻传媒我的女老板 | 成人免费看片又大又黄 |