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按钮如下.
总结以上是内存溢出为你收集整理的Silverlight 4中把DataGrid数据导出Excel—附源码下载全部内容,希望文章能够帮你解决Silverlight 4中把DataGrid数据导出Excel—附源码下载所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)