none
owc调用excel y用SpreadsheetClass.xmlurl报错 RRS feed

  • 问题

  •    我已经用owc生成excel导出时生成xml 
          我现在想在直接调用此xml来显示excel; 
          string filepath = Server.MapPath("~") + "\\ccc.xml";(我用过127.0.0.1 /这种也不行的) 
          SpreadsheetClass Sheet = new SpreadsheetClass();    
            Sheet.XMLUrl=filepath; 
            报错 
            对COM 组件的调用返回了错误HRESULT E_FAIL 
            看了网上的做发 什么Distributed Transaction Coordinator之类的我都试了还是报错 

          后来用xmldata 
          我是这样做的 用xmldocument xoc 
            xoc.load (filepath); 
        然后返回给 xmldata=xoc也不行 


    难道非要发布到iis上才行吗 ?
    • 已移动 Sheng Jiang 蒋晟Moderator 2009年3月26日 20:08 Office开发 (从 ASP.NET 与 AJAX 移动到 Office Business Application)
    2009年3月26日 1:49

答案

  • Office和owc是设计给浏览器使用的,不是设计来在IIS中运行的。如果你要在ASP.Net程序中处理XML,可以用.Net的XML支持,但是asp.net程序只能向客户端返回HTML。
    如果你要在网页中显示Excel表格,可以在HTML代码中加入OWC相关的代码。
    建议使用Excel Services而不是OWC来做报表。

    MSMVP VC++
    2009年3月26日 20:12
    版主

全部回复

  • Office和owc是设计给浏览器使用的,不是设计来在IIS中运行的。如果你要在ASP.Net程序中处理XML,可以用.Net的XML支持,但是asp.net程序只能向客户端返回HTML。
    如果你要在网页中显示Excel表格,可以在HTML代码中加入OWC相关的代码。
    建议使用Excel Services而不是OWC来做报表。

    MSMVP VC++
    2009年3月26日 20:12
    版主
  • 感谢 楼上 因为公司需要 所以要用owc
    我用Interop.Excel.dll的 Excel也是可以做的 用类似myExcel.Application.Workbooks.Open()可以搞定 owc好像没有这方面的方法
    你的 意思是要html静态页面 去做这个功能 而不是用aspx是吧
    有点不太明白 你能部分相关代码吗 不好意思 我是新手
    2009年3月27日 0:39
  • 动态生成也是可以的,不过在服务器端按照OWC所需的数据格式生成HTML而已
    MSMVP VC++
    2009年3月28日 5:43
    版主
  • 可是我每次都报那个错误 不知道是什么原因 网上找了很多资料 都是这样写的 有些报我这个错的 也没找到原因解决...不知道是什么原因呀
     对COM 组件的调用返回了错误HRESULT E_FAIL 

    2009年3月28日 15:55
  • 谢谢 ls

    我认真看了下 那个帮助文档 不知道是否是太高深或抽象 并没有找到与我这个问题相关的解决方案

    2009年3月31日 5:36