精华内容
下载资源
问答
  • <%@page import=”java.util.*”%><%@page import=”java.io.*”%><%@page import=”java.net.*”%>&... } response.setContentType(“application/msword”); response.setHeader(“Content-
  • IE 浏览器中打开office 文件,而不是调用外部程序打开,是直接在IE 中预览,修改等,不采用点聚,金格,软航等现有插件,用原生js 结合 调用组件的方式如何实现,谢谢!
  • 控制WordExcel在IE打开,还是下载
  • IE浏览器提示下载或直接打开word文档 点击一个指向.doc类型的文件后,怎样不直接在IE里打开,而是弹出一个对话框提示用户想下载还是打开。解决方法很简单,打开“我的电脑”,菜单里选择“工具”->“文件夹...

    核心提示:点击一个指向.doc类型的文件后,怎样不直接在IE里打开,而是弹出一个对话框提示用户想下载还是打开。让IE浏览器提示下载或直接打开word文档

    点击一个指向.doc类型的文件后,怎样不直接在IE里打开,而是弹出一个对话框提示用户想下载还是打开。解决方法很简单,打开“我的电脑”,在菜单里选择“工具”->“文件夹选项”,在对话框里选择“文件类型”这个属性页,在列表中选中扩展名为doc的类型,按下面的“高级”按钮,在弹出的“编辑文件类型”对话框里钩上“下载后确认打开”复选框就可以了。

    但这只是在客户机上解决了这个问题,以我的经验,在服务端不论以什么样的方式将.doc文件的流发给IE,都将由上面的设置决定是否弹出下载对话框,即使将mimetype设置为application/octet-stream也是如此。没有实验其他浏览器。

    展开全文
  • 虽然后来有商业公司开发的相关控件,但是还是无法克服ActiveX控件固有的缺陷,不仅限制了浏览器的版本,还需要用户单独设置浏览器安全设置,导致用户体验极差。 后来随着SAAS模式的兴起,网页在线编辑文档也越来越...

    历史背景

    从2015年开始,各大主流浏览器先后取消了对 NPAPI插件,导致在线编辑Office软件成为了一个难题。虽然后来有商业公司开发的相关控件,但是还是无法克服ActiveX控件固有的缺陷,不仅限制了浏览器的版本,还需要用户单独设置浏览器安全设置,导致用户体验极差。

    后来随着SAAS模式的兴起,网页在线编辑文档也越来越流行,很多巨头公司都发布了在线Office服务,虽然这些服务在多人协作、跨平台等方面有优势,但是存在的问题也很多,比如桌面版Office就存在一些功能缺失:需要网络随时保持在线、不能保存桌面生成的文档、表格过大打开的时候卡死、多文档同时编辑板式不一致等,最关键的是在线Office服务很难整合到自己公司的OA、GRM、ERP中去,最好的办法还是需要在桌面Office基础上,通过技术手段让其流畅的运行在 Chrome、Firefox、Edge、360、Opera、QQ等主流版本浏览器中。

    现有方案

    1.浏览器插件方案

    此方案只适用于IE浏览器,通过在网页中 直接运行ActiveX控件调用桌面Office软件的自动化接口来实现, 免费DsoFramer及点聚WebOffice控件都是基于此原理,另外一些收费的如: 重庆软航NTKO Office文档控件、北京卓正PageOffice、广州华尔太WebOffice控件也是基于此原理。2021年初随着Chrome 对 Flash Player PPAPI插件的支持,浏览器插件的方案就彻底失效了。

    2.特定浏览器方案

    一些公司为了降低开发成本,又想继续使用公司原有系统,被迫继续使用安全漏洞较多的低版本Chrome或者360等其他低版本浏览器,低版本浏览器的安全漏洞和BUG非常多,导致Office文档控件在此基础上行使用也困难重重。

    3.外接程序方案

    各浏览器禁用 NPAPI插件后,各个厂商纷纷使用浏览器外部协议来 启动独立的EXE外接程序,看起来问题得到了很好的解决,但是每次运行中用户端都会弹出对话框,让用户不胜其烦。用户体验极差,如果用户此时已经打开了文档,还非常容易引起文档异常,导致文件丢失等情况。

     

     

     

    4.双核方案

    通过 Chrome等浏览器上的扩展程序IETab来实现,此方案同样会有 ActiveX控件弹窗, 用户体验很差。

    最终升级方案:

    通过上述4个方案可以看出,如果想在主流浏览器中打开、编辑、保存微软Office文档,核心点就在于独立于浏览器之外并且能很好兼容各浏览器。这个就是今天介绍的已经非常成熟的商业化产品—猿大师中间件

    猿大师中间件的微软Office网页小程序如何解决的呢?

    原理就是在网页中指定位置和大小,模拟实现一个内嵌到网页中显示的窗口,在这个窗口中再调用桌面Office软件的自动化接口实现doc、xls、ppt等文档的操作。

    前端还必须可对这个窗口进行实时控制,而且窗口必须跟随浏览器的移动和缩放、网页滚动、标签页切换、关闭等操作进行自动联动。这个窗口的宿主进程同时提供Web Socket的服务端和JSON打包命令的解析执行模块,前端就可以通过Web Socket连接后发送JSON打包的控制命令实现控制此窗口的动作。此方案可以说是上述外接程序方案的升级版,关键差异在于此方案可实现内嵌Word、Excel、PowerPoint、WPS文字、WPS表格等程序窗口到网页指定区域运行的效果,而且抛弃了通过IE内核来加载ActiveX控件的方案,解决了用户体验差、加载缓慢和内存占用高的问题。另外启动这个外接程序是通过Web Socket连接实现的,也解决了每次启动都会弹提示的烦恼问题,还有就是提供了类似ActiveX控件的自动升级方案,可在网页中实现静默自动升级,并额外增加了调用验证机制确保外接程序的安全启动。

    另外猿大师中间件的微软Office网页小程序提供了丰富的二次开发接口,对现有系统改动比较小的前提下, 请求启动IE控件小程序加载即可。

    总结:

    一个好的技术实施方案,首先是要满足客户的刚性需求,其次是尽量降低采购、开发、实施及维护的总成本,再次是要有良好的兼容性和稳定性,最后需尽量确保技术方案不能因为浏览器的升级而失效。本文基于当前最新的技术信息和实践经验,给大家提供了猿大师中间件搭配Office网页小程序这样一个稳定可靠、体验好、兼容性佳的桌面Office文档控件技术方案,尤其适合在内网处理复杂文档和数据量大的表格场景,以供大家技术选型参考。

    展开全文
  • 比如:Windows平台,如果用户点击的链接链接的是一个“.doc”文件的话,那么,浏览器就会启动Microsoft Word应用程序来打开它。 二是:如果采用链接的办法的话,任何能看到该链接的人都可以下载该文件,你虽然...

    方法三已经测试可以!



    方法一:

      <%
    Response.ContentType = "application/octet-stream "
    Response.AddHeader "Content-Disposition ", "attachment; filename=xx.Excel "
    response.binarywrite getBinaryFile( "c:/xxxxx/xx.Excel ")
    function getBinaryFile(fileSpec)
    Dim adTypeBinary
    adTypeBinary = 1
    Dim oStream
    set oStream = server.createobject( "ADODB.Stream ")
    oStream.Open
    oStream.Type = adTypeBinary
    oStream.LoadFromFile fileSpec
    getBinaryFile= oStream.read
    set oStream=nothing
    end function
    %>
      方法二:直接让客户端浏览器下载已知类型的文件
    Web开发人员都有过这样的疑问,如何让一个文件,尤其是一个已知类型的文件,发送到客户端,直接提示让浏览者下载,而不是用与它相关联的程序打开。以前我们最常用的办法就是把这样的文件加到链接上,这样可以让浏览者通过点击鼠标右键的目标另存为来下载所链接的文件。但是,这样有两个不足的地方:
    一是:如果浏览器能够识别已下载文件的扩展名,则浏览器就会激活该扩展名所关联的程序来打开所下载的文件。比如:在Windows平台上,如果用户点击的链接链接的是一个“.doc”文件的话,那么,浏览器就会启动Microsoft Word应用程序来打开它。
    二是:如果采用链接的办法的话,任何能看到该链接的人都可以下载该文件,你虽然也可以对所下载的文件进行权限设置,但那样做也不是很方便的。有时候我们需要更为灵活和富有弹性的方式,下面的程序能够很方便地克服以上两方面的不足。
    这种办法是可靠的,但你必须记住:没有授权的用户不能够通过在浏览器地址栏里输入文件的URL来取得该文件的下载权。所以,要下载的文件应该放到虚拟目录之外的一个目录里,比如:如果你的虚拟目录是C:/Mengxianhui/Tomcat4/Website/MyApp的话,那么,存放在该目录和该目录下的任何子目录下所有文件对因特网上的任何用户都是可见的。要直接下载一个文件,我们需要做两件事,第一件事是:设定响应的内容类为“application/octet-stream”,大小写无关。第二件事是:设置HTTP的响应头名字为:Content-Disposition,设定值为:attachment; filename = theFileName。这里的theFileName就是出现在文件下载对话框里的默认文件名,通常和所下载的文件名字相同,但也可以不同。下面,我们就平常最常用的JSP和ASP页面来举一个实际应用的例子。
    TestFileDownload.JSP页面的例子:
    <%
    // 得到文件名字和路径
    String filename = "MengxianhuiDocTest.doc ";
    String filepath = "D:// ";

    // 设置响应头和下载保存的文件名
    response.setContentType( "APPLICATION/OCTET-STREAM ");
    response.setHeader( "Content-Disposition ",
    "attachment; filename=/ " " + filename + "/ " ");

    // 打开指定文件的流信息
    java.io.FileInputStream fileInputStream =
    new java.io.FileInputStream(filepath + filename);

    // 写出流信息
    int i;
    while ((i=fileInputStream.read()) != -1) {
    out.write(i);
    }
    fileInputStream.close();
    out.close();
    %>
    值得注意的是:在要下载的文件内容里,除了文件的内容之外,不应该再附加有其它任何的字符,包括空格和回车换行符。我们有时在编写代码的时候,为了使代码清晰可读,往往会添加一些空格、制表符或者回车换行符,这样虽然看起来比较清晰,但有时可能会得不到正确的结果。比如:
    <%@ page import= "java.io.* "
    %> <jsp:useBean id= "MyBeanFromMengxianhui " scope= "page "
    class= "com.Mengxianhui.DownloadBean " />
    应该写成这样:
    <%@ page import= "java.io.* "
    %> <jsp:useBean id= "MyBeanFromMengxianhui " scope= "page "
    class= "com.Mengxianhui.DownloadBean " />
    TestFileDownload.ASP页面的例子:
    在ASP里,没有提供从文件读取文件流信息的方法,因此,为了得到文件的流信息,我们必须借助其他的工具,最简单的就是编写一个VB或C的DLL组件,让组件返回文件的流信息。下面是一个用VB编写的DLL的例子,工程名字为MengXHFileDownLoad,类模块的名字为BinReadFromFile,类方法readBinFromFile如下:
    Function readBinFromFile(ByVal bfilename As String) As Variant
    Dim fl As Long
    Dim FileNum As Long
    Dim binbyte() As Byte
    Dim binfilestr As String
    On Error GoTo errHandler
    FileNum = FreeFile
    Open bfilename For Binary As #FileNum
    fl = FileLen(bfilename)
    ReDim binbyte(fl)
    Get #FileNum, , binbyte
    Close #FileNum
    readBinFromFile = binbyte
    Exit Function
    errHandler:
    Exit Function
    End Function
    把上面的代码编译成MengXHFileDownLoad.DLL,然后注册即可使用。下面以直接下载一个When A Man Loves A Woman.mp3的MP3文件为例子,我们要编写的ASP脚本代码如下:
    <%@ Language=VBScript %>
    <%
    Response.buffer = TRUE
    Response.ContentType = "APPLICATION/OCTET-STREAM "
    Response.AddHeader "Content-Disposition ", "attachment;filename=When A Man Loves A Woman.mp3 "
    Dim varStream, oMyObject
    Set oMyObject = Server.CreateObject( "MengXHFileDownLoad.BinReadFromFile ")
    varStream = oMyObject.readBinFromFile( "E:/MengXianhui/Mp3/When A Man Loves A Woman.mp3 ")
    Response.BinaryWrite(varStream)
    Set oMyObject = Nothing

    Response.End
    %>

    当运行上面的TestFileDownload.ASP文件时,浏览器会弹出一个文件下载的对话框,提示我们下载,而不是用默认的MP3播放器打开。
    这种方法也可以把我们的ASP页面生成的HTML源代码保存成一个文件,下面的代码会提示你把ASP执行的结果保存成Test.htm文件。具体的方法是:
    <%
    Response.ContentType = "APPLICATION/OCTET-STREAM "
    Response.AddHeader "Content-Disposition ", "attachment;filename=Test.htm "
    Response.write " <div style= 'background-color:navy;color:#FFFFFF '> 测试 </div> "
    Response.write " <a href= 'http://lucky.myrice.com '> "
    Response.write " <img src= 'http://lucky.myrice.com/back.jpg '> 【孟宪会之精彩世界】 </a> "
    Response.End
    %>

    当文件数目很少时,也可以直接在服务器端进行设置,让这些文件直接下载。具体做法是:在Internet服务管理器里,选“属性”项,然后选“HTTP Headers”标签页进行设置即可!!

      方法三:用JS直接操作
    function DownURL(strRemoteURL,strLocalURL)
    {
    try
    {
    var xmlHTTP=new ActiveXObject( "Microsoft.XMLHTTP ");
    xmlHTTP.open( "Get ",strRemoteURL,false);
    xmlHTTP.send();
    var adodbStream=new ActiveXObject( "ADODB.Stream ");
    adodbStream.Type=1;//1=adTypeBinary
    adodbStream.Open();
    adodbStream.write(xmlHTTP.responseBody);
    adodbStream.SaveToFile(strLocalURL,2);
    adodbStream.Close();
    adodbStream=null;
    xmlHTTP=null;
    //OpenFile(strLocalURL);
    }
    catch(e)
    {
    window.confirm( "下载URL出错! ");
    }
    //window.confirm( "下载完成. ");
    }
    展开全文
  • #使用java技术在IE浏览器中打开WORD、EXCEL、PDF和TXT文件
  • ie打开word,excle

    2012-10-23 11:17:52
    ie打开word,excle,已经过实例能正常使用
  • 有朋友询问如何Web页面做到像SharePoint中的效果一样,能直接激活客户端的Word打开.doc文件,而不是类似直接点击.doc文档链接时Word在IE中被打开那样。想想这个问题应该很多人都会感兴趣,所以干脆写一篇blog...

    有朋友询问如何在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。

    展开全文
  • 如果要在IE打开的是PDF或者TXT格式的文件,这段代码直接就能实现。但是当选择打开的是EXCEL或者WORD文件时,就弹出的是下载对话框了。 这个问题,让我纠结了十多分钟,到底是哪里的问题呢?是 content-type有误...
  • 本文出自Simmy的个人blog:西米在线... 为解决某同事的同类问题,百度了下遇到这篇好文章。 ... 当我们通过Web页下载一个远程文件的时候,我们可以选择保存被下载文件,也可以选择直接打开被下载的文件。...
  • 需要网络随时保持在线、不能保存桌面生成的文档、表格过大打开的时候卡死、多文档同时编辑板式不一致等,最关键的是在线Office服务很难整合到自己公司的OA、GRM、ERP中去,最好的办法还是需要桌面Office基础,...
  • 问题: 测试结果: ie11会报错,ie10和以下版本不会报错,chrom不会报错。 jindahao 转载于:https://www.cnblogs.com/jindahao/p/4221361.html
  • 特定的網站要把它加入到信任的站點裡面,才能行; 還有要把Google 工具列(這個東西居然顯示在IE裡面)把它永久停用就好了。
  • 第一种: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">... function doword() { var WordApp = new ActiveXObject("Word.Application"); WordApp.Ap
  • 如何解决IE打开Word、Excel乱码问题

    千次阅读 2011-11-08 11:31:19
    weblogic应用程序下对于有时上传的文件,(如word、excel等)需要打开或下载到本地时,weblogic容器默认情况下可能是以记事本打开从而导致乱码现象。为解决此问题可以你的项目(project)下的web.xml文件中...
  • win7中,使用OA的过程中,ie9无法正常打开word,解决方法如下 1、首先要先确保机器已经安装装microsoft office(如果已经安装WPS,请先卸载掉) 2、右键点击iWebOffice.exe插件,已管理员身份安装 3、设置...
  • IE8 网页上打开word

    2015-08-14 13:27:15
    用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E) ...时间戳: Fri, 14 Aug 2015 05:23:44 UTC ...
  • 文档集界面中显示Word文档,是文档大师的一个核心功能。...用关键字“ie11 word 显示不全”搜索,看了几个搜索结果,找到了答案:"关闭IE11"。 操作: 1. Win10 控制面板,卸载软件界面左边栏有“打开和关闭...
  • 生产环境遇到一个问题,页面中有一个a标签 href为文件的路径,IE浏览器无法下载,内容也为乱码,其他浏览器均正常。 <a href="https://xxx/attached/file/20191112090721_279.docx" target="_blank">奖励活动...
  • 本资源是针对C#winform开发的webBrowser控件进行的操作,webBrowser网页控件实际应用中默认点击里面的链接是跳转到浏览器打开,该资源正是解决此问题,只winform里打开
  • 打开Word,显示无法创建工作文件,请检查临时环境变量的解决办法 ** 首先说一下原因:使用了虚拟内存盘 Ramdisk 软件,修改过IE的缓存目录位置,内存盘崩知溃后,这个目录不存在了。由于道word要使用IE的缓存路径...
  • IE中调用word

    2006-02-23 09:05:59
    在IE中调入word程序,脚本语言中可对文档进行任意控制,文档的打开、保存、及其它控制。该控件为ActiveX控件。有相应的测试文件。
  • 有时会遇见从网上下载的文档打开之后显示视图打开文件时遇到错误,其实是设置的保护机制的原因,解决...打开word“选项”: 点击信任中心–>信任中心设置。 点击受保护的视图,勾选掉蓝框中选项: 完成。 ...
  • ie通过window.open下载excel,结果是直接打开excel乱码 应用中通过window.open(filename,'_self')下载excel时,变成直接浏览器打开excel,而且还是乱码,网上找了很多办法,如设置web.xml,web.xml增加  ...
  • ie打开word

    2009-07-06 10:55:31
    打开word
  • 在IE浏览器中可以。碰到WORD文档,自动就下载了!为什么?
  • IE默认是直接打开word、PDF、EXCEL造成电脑变慢以及死掉, 所以我们优化一下让它下载下来打开。 一、PDF文件解决几种办法 1、去掉加载项里面的IE插件; 2、删掉文件类型里面的PDF格式; 3、acrobat里面设置...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,295
精华内容 11,718
关键字:

在ie上无法打开word