Silverlight 4中把DataGrid数据导出Excel—附源码下载
2010-06-10 12:48 by chenkai,2907 visits,收藏, 编辑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:如何实现
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。