需求:
我們需要把介面上的資料列表儲存為Excel活頁簿。
解決方案:
AutomationFactory :提供對登入的Automation 伺服程式的訪問。
CreateObject(String):啟用具有指定的程式設計識別碼 (ProgID) 的登入Automation 伺服程式並返回對它的引用。
效果:
xaml代碼:(基本不需要寫,全是用C#代碼寫的)
<Grid x:Name="LayoutRoot" Background="White">
</Grid>
cs代碼:
public MainPage()
{
InitializeComponent();
Loaded += new RoutedEventHandler(MainPage_Loaded);
}
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
//指示SilverLight自動化功能是否可以用於程式
if (!AutomationFactory.IsAvailable) return;
//建立一個Excel工程
var excel = AutomationFactory.CreateObject("Excel.Application");
excel.Visible = true;
//建立一個Excel 工作薄
var workbook = excel.workbooks;
workbook.Add();
//擷取預設工作表(第一個)
var sheet = excel.ActiveSheet;
var i = 1;
//要寫入Excel表格的資料
var data = new double[] {1.0, 5.0, 9.5, 2.7, 3.2, 0.6};
//將資料寫入Excel表格
foreach (var d in data)
{
//為第一列第i行寫入資料
var cell = sheet.Cells[i, 1];
cell.Value = "第 " + i + "行";
//列寬設定為10
cell.ColumnWidth = 10;
//為第二列第i行寫入資料
cell = sheet.Cells[i, 2];
cell.Value = d;
i++;
}
}
大功告成!!!
作者:記憶逝去的青春
出處:http://www.cnblogs.com/lukun/
本文著作權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文串連,如有問題,可以通過http://www.cnblogs.com/lukun/ 聯絡我,非常感謝。