有两种可能吧:
1. 自动启动Excel打开,就是上面说的,但我不知道如何可以直接打开,是不是在web.xml中可以设置?
2. 可以不可以嵌入浏览器,在浏览器里面打开啊?

解决方案 »

  1.   

    <mime-mapping>
        <extension>xls</extension>
        <mime-type>application/msexcel</mime-type>
      </mime-mapping>
    web.xml里面这么设置,好象如果你没装excel就会下载下来吧,没试过,只试过这样配置,然后页面跳转到excel,就在页面里打开了
      

  2.   

    <mime-mapping>
        <extension>xls</extension>
        <mime-type>application/vnd.ms-excel</mime-type>
      </mime-mapping>
    都不可以啊
      

  3.   

    可以呀,设定response.setContentType为application/msexcel,直接在servlet中读取文件的字节数据,写到response的outputStream中
      

  4.   

    这样可以在网页中直接打开吗? 
    是设置为application/vnd.ms-excel
    可是还是下载提示框出来了
      

  5.   

    试试如下servlet代码:import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;public class Testexcel extends HttpServlet
    {
    public void doGet(HttpServletRequest request,HttpServletResponse response)
    throws ServletException,IOException
    {
    response.setContentType("application/vnd.ms-excel");
    PrintWriter out = response.getWriter();
    out.println("\tq1\tq2\tq3\tq4");
    }
    }
      

  6.   

    我试了下,可以输出q1 q2 q3 q4,但这和输出Excel有什么关系呢?
    我改了下,输出乱码啊;
                     HttpServletResponse response = ((AppWorkspace)this.getWorkspace()).getResponse();
                     response.setContentType("application/vnd.ms-excel");
                     PrintWriter out = response.getWriter();
                     BufferedReader in = new BufferedReader(new FileReader(downloadFile.getAbsolutePath()));
                     String inStr = null;
    String s = null;
                     while((s = in.readLine()) != null)
                     {
                     inStr += s;
                     }
                     in.close();
                     out.println(inStr);
      

  7.   

    Tomcat:
    在/conf/web.xml相应位置中加入
        <mime-mapping>
            <extension>doc</extension>
            <mime-type>application/msword</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>xls</extension>
            <mime-type>application/msexcel</mime-type>
        </mime-mapping>
    Resin等服务器也有相应的文件进行配置
      

  8.   

    这是因为你的excel文件应该是 gbk编码,但是servlet response默认是iso-8859-1编码,变一下,contentype里面加上charset
      

  9.   

    这样读出.xls文件对吗?
    BufferedReader in = new BufferedReader(new FileReader(downloadFile.getAbsolutePath()));
    String inStr = null;
    s = null;
    while((s = in.readLine()) != null)
    {
         inStr += s;
    }
    in.close();
    还是乱码.
    null????;?? ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ??A????\pMiusi_22 B?a=???=h\:?#8X@?"??1???Arial1???Arial1???Arial1???Arial1???Arial1???Arial1,??Arial1???Arial1???Arial1???Arial1???Arial1???Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1??Arial1???Arial1??Arial1???Arial1???Arial1???Arial1???Arial1???Arial1???Arial1???Arial1???Arial1???Arial1???Arial1???Arial1???Arial1???Arial1???Arial1???Arial1???Arial1???Arial1???Arial1???Arial1