java怎么打开word  xls pdf html
 在客户端打开服务端的这些文件?
  代码最简单最好? 最好有相应的例子?

解决方案 »

  1.   

    <a   href=".../test1.doc">open   the   word</a>  
      <a   href=".../test2.xls">open   the   excel</a>  
      并且在web.xml里面加上下面两句:  
              <mime-mapping>  
                      <extension>doc</extension>  
                      <mime-type>application/vnd.ms-word</mime-type>  
              </mime-mapping>  
               
              <mime-mapping>  
                      <extension>xls</extension>  
                      <mime-type>application/vnd.ms-excel</mime-type>  
              </mime-mapping>
      

  2.   


    public   static   boolean   downLoad(String   path,String   name,String   filename,HttpServletResponse   response)   
      {   
      File   tfile=new   File(path+"/"   +   name   +"/"+   filename);   
      String   contentType   =   "";   
      if(filename.toLowerCase().indexOf(".xls")>0)   
      {   
      contentType="application/vnd.ms-excel;"   +   
      "charset=UTF-8;attachment;   filename="   +   filename;   
      }   
      else   
      {   
      contentType="application/vnd.ms-zip;"   +   
      "charset=UTF-8;attachment;   filename="   +   filename;   
      }   
      byte[]   buffer   =   new   byte[8192];   
      //Create   the   download   files   
      int   bytesRead   =   0;   
      if(tfile   !=   null)   
      {   
      response.setContentType(contentType);   
      response.setHeader(   
      "content-disposition",   
      "attachment;   filename=\""   +   filename   +   "\"");   
      try   
                    {   
      FileInputStream   is   =   new   FileInputStream(tfile);   
      BufferedOutputStream   oStream   =   
      new   BufferedOutputStream(response.getOutputStream());   
      //Get   file   stream   
      while((bytesRead=is.read(buffer,0,8192))!=-1)   
      {   
      oStream.write(buffer,0,bytesRead);   
                    }   
      oStream.flush();   
      if   (oStream   !=   null)   {   
      oStream.close();   
      }   
      response.flushBuffer();   
                    }   
                    catch(IOException   ioe)   
                    {   
                    System.out.println("ssss==>"   +   ioe.toString());   
                    return   false;   
      //               errors.add("nofile",new   ActionMessage("file.not.exsit.error"));   
      // this.saveErrors(request,errors);   
      //               return   (new   ActionForward(mapping.getInput()));   
                    }   
                    catch(Exception   e)   
                    {   
                    return   false;   
                      
      //               errors.add("nofile",new   ActionMessage("file.not.exsit.error"));   
      // this.saveErrors(request,errors);   
      //               return   (new   ActionForward(mapping.getInput()));   
                    }   
                    }   
        
      return   true;   
      }
      

  3.   

    这个是本人查的资料,你可以试试:   
      对word文档的处理(上传与下载)   
      <%@   page   contentType="application/msword"   %>   
      <!--   以上这行设定本网页为excel格式的网页   -->   
      <%   
            response.setHeader("Content-disposition","inline;   filename=test1.doc");   //线上浏览方式   
          //   response.setHeader("Content-disposition","attachment;   filename=test1.doc");//下载方式   
            //以上这行设定传送到前端浏览器时的档名为test1.doc   
            //就是靠这一行,让前端浏览器以为接收到一个word档   
      %>   
      //然后输出动态内容就可以得到一个word文档了   
          
      1,打开:   
      1)文件头上加:<%@   page     contentType="application/msword"%>     
      xml文件里:   
      <mime-mapping>   
                      <extension>doc</extension>   
                      <mime-type>application/msword</mime-type>   
      </mime-mapping>   
      2)可以用js,以下代码来自引用:   
      <%@   page   contentType="text/html;charset=gb2312"   import=   "java.io.*"%>   
      <HTML>   
      <script>   
      var   wrd=new   ActiveXObject("Word.Application")   
      wrd.visible=true   
      alert   ("您的"+wrd.Application.Caption+"安装路径为:\n"+wrd.Application.Path+"\n版本号是:"+   wrd.Application.version+"\n注册使用者是:"+wrd.Application.UserName)   
      wrd.Documents.Add()   
      //wrd.Documents.Open("c:\\exam.doc")   
      wrd.Selection.TypeText("This   is   some   text.")   
      wrd.Application.Activate()   
      wrd.ActiveDocument.SaveAs("c:\\exam111.doc")   
      wrd=null   
      </script>   
      </HTML>
      

  4.   

    http://bbs.haopdf.cn/archiver/tid-2281.html这个帖子lz也可以看看
      

  5.   

    我用irporte自动生成的word文件  我用html打开
      但是出现上面问题
      这个文件没有包含进来effectStat.html_files/px
      怎么才能做到这个也包含进来
       
       还有分页怎么实现???
     
      

  6.   

      alert  ("您的"+wrd.Application.Caption+"安装路径为:\n"+wrd.Application.Path+"\n版本号是:"+  wrd.Application.version+"\n注册使用者是:"+wrd.Application.UserName)  
             ---------------------------------------------
                   三楼  我是在客户端访问    不可能知道客户端用的word版本还是wps  
           
      

  7.   

    http://blog.csdn.net/CloneIQ/archive/2007/01/09/1477741.aspx
     看到这个有分页  但是要在页面中加代码?
      总不会让我吧页面下载下来改了后在打开把?   我知道但是客户不知道啊·~
      请高手讲下?
      

  8.   

    已解决
      用配置文件
    http://hi.baidu.com/wkcs520/blog/item/01dac0fc0764ea81b801a017.html
      看到这上面的       谢谢大家
      

  9.   

    12月4日
    Java启动相应的windows程序来打开文件(pdf,txt,web page....)
    我们都知道,在Windows中浏览器可以用来打开很多不同的文件,比如:网页,txt和pdf等等(前提是你的系统注册了pdf软件)。 IE是通过什么方式来实现不同文件用不同软件来打开呢?  查了一下资料,关键是一个叫url.dll 的动态链接库,url.dll提供了IE调用 各种应用来显示不同的文件的实现。既然IE提供了这样一个功能,我们就可以在java程序中利用它。一个问题又出现了,我们如何在java程序中调用动态链接库? 继续查了一下资料,windows系统提供了一个叫Rundll32.exe的文件,顾名思义,它的作用是执行DLL文件中的内部函数,这样在进程当中,只会有rundll32.exe,而不会有DLL后门的进程,这样,就实现了进程上的隐藏。rundll32.exe的具体使用方法如下:
    Rundll32.exe DLLname,Functionname [Arguments] 
    DLLname为需要执行的DLL文件名;Functionname为前边需要执行的DLL文件的具体引出函数;[Arguments]为引出函数的具体参数。
     结合url.dll和rundll32.exe,我们就可以通过在命令行中启动相应程序打开相应文档: 假设我有一个pdf文档,存放在c:\test.pdf 。打开命令行, 运行如下 命令:
    rundll32 url.dll FileProtocolHandler file://c:\test.pdf  
     
    好了,我们知道如何运行命令来打开相应文档。那么,要在java代码中调用,也就很简单了,snippet如下:
    String cmd="rundll32 url.dll FileProtocolHandler file://c:\test.pdf ";
    Process p = Runtime.getRuntime().exec(cmd);
     
    现在,我们就实现了通过统一的方式打开文档的方法。(只要IE能打开的文档,这个java程序就能打开)。Enjoy! 
    任何问题,给我写评论。一个高手所写,本人测试 通过。路径你可以自己写方法获取。总之转成 String类型 和 命令放在一起执行就OK。通常的文件都可以打开。txt doc xlz bmp 等等。特殊除外。
    特殊你可以执行命令 "start "+路径;这种方法打开的是 打开方式 对话框。
    吃水不忘挖井人。原帖地址如下:
    http://kendung.spaces.live.com/blog/cns!DC568057EC489A75!476.entry?ccr=4739#comment