none
在silverlight中,如何打开excel文件? RRS feed

  • 常规讨论

  • 之前没用silverlight的时候,我是用System.Diagnostics.Process.Start(strPath)这样大开的,现在用silverlight好像不支持了,之后我用了 dynamic cmd = AutomationFactory.CreateObject("WScript.Shell");  cmd.Run("calc.exe", 1, true);这种方法好像不支持在浏览器中打开excel。

     

    请问各位老师,还有没有别的更好的方法在silverlight项目中打开excel文件?谢谢!


    刘修明
    2011年12月12日 1:20

全部回复

  • 1)在OOB模式下,提升信任,可以直接打开。

    2)通过System.Web.Browser的有关东西,调用Javascript可以在网页内打开Excel文件。

    ----------------------------------

    不过,如果你要求和你的系统实现无缝连接(就是说你要在sL里面控制Excel文件的内容,如修改,编辑等),直接打开这些文件就没有任何意思。

     

    2011年12月12日 5:43
  • 楼上能说得再详细一点吗?我不知要在浏览器中打开,而且我还要在窗口形势的应用程序中打开(不知道是不是你说得oob模式)。
    刘修明
    2011年12月13日 1:21
  • 你好,

    出于安全的原因,Silverlight是不允许直接打开本地资源的。(除了使用OpenFileDialog 类打印 等,但不能打开Excel等程序,只是能打开文件)。

    所以你可以使用 浏览器外支持(OOB)的Silverlight应用程序。


    Daoping Liu - MSFT

    2011年12月13日 2:57
    版主
  • 恩,我现在就是这么用的,还需要自己写一个COM组件,不太会写....

     

    不然的话

    dynamic excel = AutomationFactory.CreateObject("OpenByExcel.OpenByExcel");

    会报错.

    请各位指点一下,谢谢.


    刘修明
    2011年12月15日 10:00
  • 恩,我现在就是这么用的,还需要自己写一个COM组件,不太会写....

     

    不然的话

    dynamic excel = AutomationFactory.CreateObject("OpenByExcel.OpenByExcel");

    会报错.

    请各位指点一下,谢谢.


    刘修明


    sl5应该支持这种方式

     

    另外, com也不需自己写, office自己有, 有个公共服务模块,好像叫share point什么的, 但缺省安装好像不会安装上去。

    2011年12月19日 6:25