日期:2014-05-20  浏览次数:20465 次

如何在客户端打开Word文档?
页面中有一按钮,我想实现点击后即可在客户端打开Word文档,可是现在却是在服务器端打开了该文档,
随后我又想生成Word文档后在客户端打开一链接,链接到服务上的文档,可是链接不听我的使唤
部分代码如下:

protected   void   Page_Load(object   sender,   System.EventArgs   e)
{
if   (Page.IsPostBack)  
{
HyperLink1.Text   =   DocName.Text   +   ".doc ";
HyperLink1.NavigateUrl   =   ConfigurationSettings.AppSettings[ "WordDoc "]   +   DocName.Text   +   ".doc ";

}
}
public   void   OpenWord_Click(object   sender,   EventArgs   e)
        {
                        test   =   new   CCWordApp();
                        test.Open();

                        Assess   assess   =   new   Assess();
                        SqlDataReader   dr   =   assess.GetMorePoint();

                                test.InsertText( "高管姓名: ");
                                test.InsertText(dr[ "ManagerName "].ToString());
                        test.Close();
                        test.SaveAs(ConfigurationManager.AppSettings[ "WordDoc "]   +   DateTime.Now.ToString().Trim()   +   ".doc ");
               
                        dr.Close();
                        test.Quit();


------解决方案--------------------
你在本版搜索 Word 这个关键词试试!
------解决方案--------------------
不能这么做,快给我分,我帮助你解决问题!
给分吧,我试过了,保证能行得通过!
在安装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值来反映操作是否成功。