參加過微軟VS2010上市發表會後, 對於silverlight4的功能覺得十分驚豔!
議程中講師是以silverlight開啟word做為範例, 回家後筆者就想說那來練習silverlight開啟excel好了,
但實際上在環境的設定上還是有一點悉竅的!!!!
因為VS2010原本只支援Silverlight 3的開發, 使用本功能必須再安裝Silverlight 4 Tools,
有一點要注意的是Silverlight 4 Tools的版本要與VS2010的版本匹配,
VS2010 RC版就要裝Silverlight 4 Tools RC版,
VS2010 RTM版就要裝Silverlight 4 Tools RTM版, 裝錯的話就會出現如下錯誤訊息:
Visual Studio 2010 RC or Visual Web Developer Express 2010 RC or Visual Phone Developer Express 2010 that matches the language version of Silverlight Tools 4 must be installed before installation of Silverlight Tools can continue. Silverlight Tools is available in other languages at http://go.microsoft.com/fwlink/?inkId=177432"
如下圖, 沒有安裝Silverlight 4 Tools RC2 for VS 2010之前, 跟本無法編譯原始碼!
除了Visual Studio 2010外, 還要安裝 Silverlight 4 Tools for VS 2010, 這樣才有支援Silverlight 4的開發:
開發套件下載點: Microsoft Silverlight 4 Tools RC2 for Visual Studio 2010
會幫您安裝Silverlight 4 Developer Runtime, WCF RIA Service RC等等…,
安裝完畢後 再打開VS2010 RTM, 由Project->專案名稱 Properties裡:
將Target Silverlight Version設定成4:
MainPage.xaml檔如下:
<UserControl x:Class="communicate_with_execl.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<Grid x:Name="LayoutRoot" Background="White">
<Button Content="開啟EXECL試算表" Height="30" Click="Button_Click" Margin="150,135,131,135" />
</Grid>
</UserControl>
C#原始碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Interop;
using System.Runtime.InteropServices.Automation;
namespace communicate_with_execl
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
dynamic excel = AutomationFactory.CreateObject("Excel.Application");
excel.Visible = true;
dynamic workbook = excel.workbooks; workbook.Add();
dynamic sheet = excel.ActiveSheet;
dynamic range;
range = sheet.Range("A1");
range.Value = "使用Silverlight 4開啟Excel試算表";
range = sheet.Range("A2");
range.Value = "10";
range = sheet.Range("A3");
range.Value = "20";
range = sheet.Range("A4");
range.Formula = "=@Sum(A2..A3)";
range.Calculate();
}
}
}
按執行按鈕:
會開啟一個Browser視窗, 按右鍵, 將應用程式安裝到此電腦:
出現安全性警告的話, 就強制安裝:
開啟EXECL試算表:
成功!!!