CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

ASP.NET(C#)中如何将数据库中存放的word文档显示到aspx页面中,急,在线等!

楼主FormatQuickly(天水一阁)2005-04-13 15:35:59 在 .NET技术 / ASP.NET 提问

具体情况如下:  
  我要实现的功能是,点击链接,然后链接到另一个页面,这个页面上面固定,和其他页面风格一致,页面下面显示从word文档中读出来的内容。  
  我现在已经做到下面的地步:  
  我数据库里存放的word文档的路径,我现在已经能把word文档转化成html文档(转化成本地的文件)  
  现在不知道能不能直接读word然后显示到aspx页面中(或者能不能把已经转化成本地html文档嵌到aspx页面中)  
   
  谢谢!  
   
  问题点数:100、回复次数:8Top

1 楼狮子(三千溺水,独取一瓢清泉)回复于 2005-04-13 16:03:48 得分 40

在安装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。Top

2 楼epimetheus(阿戈尔)回复于 2005-04-13 16:16:57 得分 20

直接下载到本地,然后客户端打开多好啊.Top

3 楼FormatQuickly(天水一阁)回复于 2005-04-13 16:27:21 得分 0

谢谢狮子,谢谢epimetheus,可是我只是想在aspx中显示的内容是调用的word的内容,只是一个显示作用,不用编辑功能,只是以html形式显示而已。Top

4 楼FormatQuickly(天水一阁)回复于 2005-04-13 16:30:24 得分 0

在客户端打开的话,那整个网站就没有什么内容可以显示了  
  其实本来这部分信息是可以做成静态的,但是考虑到这部分内容可能要修改  
  所以选择了读word内容,然后以后要改的话就直接修改wordTop

5 楼crazy2005(剣心)回复于 2005-04-13 16:42:58 得分 40

用aspx中的iframe来嵌套你生成好的html怎么样!?你试试先。Top

6 楼wxgdwz5275(marvel)回复于 2005-04-14 07:35:26 得分 0

upTop

7 楼FormatQuickly(天水一阁)回复于 2005-04-14 10:03:39 得分 0

用aspx中的iframe来嵌套生成好的html是没有问题,从功能实现上来说是没有问题的。  
  更进一步,能不能直接把word的内容读出,不通过已经生成的html来显示到页面上呢(不是显示到页面上编辑word,只是内容显示成html形式)?Top

8 楼FormatQuickly(天水一阁)回复于 2005-04-14 14:13:41 得分 0

顶,期待更好的解决方法Top

相关问题

  • html,asp,aspx???
  • 一个网站里可不可以部分页面用asp,部分页面用C#写的aspx?
  • 在C#开发的ASP。NET环境下如果生成Word,和Excel文件?
  • 懂 C++和asp的请进
  • asp调用c# windows COM ?
  • asp调用aspx <!-- #include file = "aaaa.aspx" -->
  • asp 翻译成 c# ,急
  • aspx与asp传参问题
  • 你有没有见过有一种C# ASP。NET代码,把Aspx.CS和aspx文件放在虚拟目录里,不编译就能运行?
  • 怎样实现事务控制(aspx+c#)?

关键词

  • 文档
  • word
  • 页面
  • 模版
  • 服务器
  • 控件
  • office
  • html
  • 内容
  • 文件

得分解答快速导航

  • 帖主:FormatQuickly
  • 狮子
  • epimetheus
  • crazy2005

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo