色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

Silverlight 4中把DataGrid數據導出Excel—附源碼下載

  Silverlight中常常用到DataGrid來展示密集數據. 而常見應用系統中我們需要把這些數據導入導出到固定Office套件中例如常用的Excel表格. 那么在Silverlight 中如何加以實現?

  在參考大量資料后 提供參考思路如下:

  A:純客戶端導出處理.利用Silverlight 與Javascript 進行交互實現導出Excel。

  B:服務器端導出.獲得DataGrid數據源. 傳遞給WCF Service到服務器端. 然后把傳回數據通過ASP.NET中通用處理導出Excel方法加以實現。

  方法A實現導入導出核心在JS腳本中. 屬于純客戶端交互. 簡潔實用. 但問題也正是源自于JS腳本. 如果對Excel數據格式進行變動. 大家都應該知道JS支持的調試時不容易控制的. 所以很容易出現腳本錯誤. 而且每次修改起來都很麻煩費時。

  方法B也算是各位非常熟悉一種方式. 獲得數據把數據傳入ASP.NET中通用實現導出Excel方法. 加以實現. 大部分編碼都在服務器端. 比JS要容易控制. 所以方法B相比方法A而要效率更高, 且更容易移植 修改控制。

  Silverlight中有沒有其他方式來實現? 答案是有的.Silverlight當在使用高級權限運行Out-Of-Broswer[OOB]瀏覽器外應用時. Silverlight 4版本中微軟為了支持企業用戶提供類似Office自動化功能,引入Com+自動化. COM+自動化僅支持有高級信任許可的OOB Silverlight應用,高級信任許可意味著操作者可以在少許限制的條件下,在Windows計算機上執行幾乎所有的命令,這就對Silverlight 實現Excel導出提供了可能。

  注意:當直接點擊導出按鈕時.會提示異常:"當前上下文不支持此操作."因使用Com+自動化需要在OOB應用模式才具有權限操作.所以右鍵點擊程序選擇程序安裝:

  安裝本地后自動打開:

  點擊導出到Excel按鈕 導出效果[有點粗糙]:

  A:如何實現

  頁面XAML布局:為了演示目的只有個Datagrid和一個Button按鈕如下:

 1   <Grid x:Name="LayoutRoot" Background="White" Height="500" Width="707">
 2         <sdk:DataGrid AutoGenerateColumns="False"  Margin="24,61,191,207" Name="dataGrid1">
 3             <sdk:DataGrid.Columns >
 4                 <sdk:DataGridTextColumn Header="編     號" Binding="{Binding Id}"></sdk:DataGridTextColumn>
 5                 <sdk:DataGridTextColumn Header="顧客姓名" Binding="{Binding CustomerName}"></sdk:DataGridTextColumn>
 6                 <sdk:DataGridTextColumn Header="地               址" Binding="{Binding Address}"></sdk:DataGridTextColumn>
 7                 <sdk:DataGridTextColumn Header="電話號碼" Binding="{Binding Telephone}"></sdk:DataGridTextColumn>
 8             </sdk:DataGrid.Columns>
 9         </sdk:DataGrid>
10         <Button Content="導出到Excel中"   Background="Red" Height="34"  Margin="24,21,550,445" Name="button1"  Width="133" Click="button1_Click" />
11     </Grid>

NET技術Silverlight 4中把DataGrid數據導出Excel—附源碼下載,轉載需保留來源!

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

主站蜘蛛池模板: 翼城县| 阜新市| 贵德县| 宜君县| 邯郸市| 外汇| 沁阳市| 金平| 韶关市| 长汀县| 米易县| 丽水市| 行唐县| 伊川县| 紫阳县| 包头市| 会同县| 新宾| 榆社县| 龙陵县| 清涧县| 海淀区| 瑞金市| 舒兰市| 大安市| 枞阳县| 柘荣县| 阿鲁科尔沁旗| 洪湖市| 元谋县| 杭锦后旗| 新竹市| 中阳县| 华安县| 迭部县| 抚宁县| 历史| 芜湖县| 新建县| 新田县| 吉首市|