有用过OWC在网页上显示EXCEL文档的吗?
如果用过,可以告诉我方法吗?100分不够还可以加!
谢谢了先!

解决方案 »

  1.   

    教你个最简单的方法,打开一个excel文档,把它另存为.html文件,不要忘记了把“添加交付”框选上,再打开刚才保存的那个.html文件看看。
      

  2.   

    <object id="test" classid="CLSID:0002E559-0000-0000-C000-000000000046">
      

  3.   

    直接<iframe src="http://www...../your.xls"></frame>了,这取决于客户端是否装了显示这个文件的软件或组件,包括PDF,DWG都是一样的
      

  4.   

    http://support.microsoft.com/?scid=kb;zh-cn;311452&spid=2533&sid=global
      

  5.   

    大家理解错了,我是想用OWC在程序中生成一个Excel档案,并在页面上显示出来,也就是说内容是我自己生成的,这个Excel也就是一个表格吧,自已能编辑,能保存
      

  6.   

    有朋友询问如何在Web页面上做到像SharePoint中的效果一样,能直接激活客户端的Word来打开.doc文件,而不是类似直接点击.doc文档链接时Word在IE中被打开那样。想想这个问题应该很多人都会感兴趣,所以干脆写一篇blog来大致描述一下方法。
    在安装Office2003以后,有一个ActiveX控件被安装到了系统中,这个控件位于“Program Files\Microsoft Office\OFFICE11\owssupp.dll”。通过这个控件,客户端页面上的JavaScript就可以激活本地的Office软件,来实现打开、编辑Office文档。(另,Office XP应该就已经包含这个ActiveX控件了。)
    首先,用Script创建一个本地的对象:
    openDocObj = new ActiveXObject("SharePoint.OpenDocuments.2"); // 为了兼容Office XP,可以创建“SharePoint.OpenDocuments.1”
    然后,调用openDocObj的相应的方法。比如打开服务器上的一个Office文档:
    openDocObj.ViewDocument("http://www.abc.com/documents/sample.doc");
    openDocObj对象会根据参数中不同的Office文档类型(.doc、.xls、.ppt)来打开不同的程序(Word、Excel、PowerPoint)。ViewDocument()方法还有一个重载签名,可以让我们手工指定激活哪个程序来打开文档:
    openDocObj.ViewDocument("http://www.abc.com/documents/sample.doc", 要激活的程序的ProgID);
    那么要打开Office程序在线编辑文件又如何?
    openDocObj.EditDocument("http://www.abc.com/documents/sample.doc");
    就可以直接激活Word,在Word里面编辑文档,然后直接点击Word里面的保存功能,就可以将文件保存会服务器上了。注意:为了让Word能将编辑后的文档直接保存会服务器,访问Web站点的当前上下文的Windows Identity必须对服务器的相应目录(即“http://www.abc.com/documents”这个虚拟目录所对应的服务器上的物理路径)有相应的写权限,否则保存动作会失败。编辑完成后,EditDocument()会返回一个bool值,来反映编辑操作是否成功。
    我们还可以通过打开服务器上的一个文档模版,来创建一个新的文档:
    openDocObj.CreateNewDocument("http://www.abc.com/documents/sampleTemplate.dot", "http://www.abc.com/documents/");
    就可以使用“http://www.abc.com/documents/sampleTemplate.dot”这个模版来创建一个新的文档,默认新文档的保存地点是“http://www.abc.com/documents/”。创建新文档时使用的程序取决于模版文件的类型(比如.dot模版会对应Word)。新文档的保存同样需要注意权限问题。CreateNewDocument()方法同样会返回一个bool值来反映操作是否成功。
    CreateNewDocument()方法的第一个参数,除了可以使用一个模版的地址外,还可以直接指定为希望用来创建新文档的客户端程序的ProgID。
      

  7.   

    OWC  就是 Microsoft Office Web Components  COM组件http://dotnet.aspx.cc/ShowDetail.aspx?id=BF0A54F9-C7C7-4200-BD9A-802AC1F5DE50的逆过程
      

  8.   

    可是还是没有使用OWC的方法?
      

  9.   

    关于Excel的导入导出:我是这样导出Excel的。
    //导出到EXCEL的函数
    public void ToExcel(System.Web.UI.Control ctl)  
    {
    HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Excel.txt");
    HttpContext.Current.Response.Charset = "gb2312";
    HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Default;
    HttpContext.Current.Response.ContentType = "application/ms-excel";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword
    // HttpContext.Current.Response.ContentType ="application/Microsoft Excel";
    // ctl.Page.EnableViewState = false;
    System.IO.StringWriter tw = new System.IO.StringWriter();
    System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
    ctl.RenderControl(hw);
    HttpContext.Current.Response.Write(tw.ToString());
    HttpContext.Current.Response.End();
    ctl.Visible = false;
    }
    但是我用这种方法导出的EXCEL表不能导入。导入的方法:
         private void BindExcel(string Excel_File_Name)
    {
    string My_ExeclConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + 
    "Data Source=" + Excel_File_Name + ";" + 
    "Extended Properties='Excel 8.0;HDR=YES;'" ;
    string My_ExeclComm_Str = "Select * From [Sheet2$]";
    OleDbDataAdapter My_ExeclAdapter = new OleDbDataAdapter(My_ExeclComm_Str, My_ExeclConn);
    DataSet My_ExeclDataSet = new DataSet(); //Fill方法将数据从数据源复制到DataSet中
    My_ExeclAdapter.Fill(My_ExeclDataSet);
    Excel_DataGrid.DataSource = My_ExeclDataSet;
    // Excel_DataGrid.DataMember = "Excel";
    Excel_DataGrid.DataBind();

    }
    答:
    用这个方法做出的Excel表是网页形式,是用MS—EXCEL强制打开的。本身是个网页。所以要打开这个。XLS文件,需要:
    C_Act Use_Act = new C_Act();
    Excel.Application myExcel = new Excel.Application();
    Object oMissing=System.Reflection.Missing.Value;
    Excel.Workbook Tw = myExcel.Application.Workbooks.Open(Excel_File_Name,oMissing,true,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing);独占的方式打开这个文件。直接导出
    this.Page.Response.AddHeader("Content-Disposition", "attachment; filename=Client.xls");
    this.Page.Response.Charset = "GB2312"; 
    this.Page.Response.ContentEncoding =System.Text.Encoding.Default;
    this.Page.Response.ContentType = "application/vnd.ms-excel";
    System.IO.StringWriter textstring = new System.IO.StringWriter(); 
    HtmlTextWriter htmltext = new HtmlTextWriter(textstring);
    this.DataGrid1.RenderControl(htmltext);
    this.Page.Response.Write(textstring); 
    this.Page.Response.End();
      

  10.   

    各位,首先谢谢大家的帮忙,但我不是想导入导出,这个我知道做,我是想知道OWC的使用方法,请知道的大哥帮帮忙
      

  11.   

    http://community.csdn.net/Expert/topic/4254/4254527.xml?temp=.9677393
    不错