直接向用户的请求 request.getOutputStream 里面写,而不是写到File里。

解决方案 »

  1.   

    更正一下:
    OutputStream os = response.getOutputStream;WritableWorkbook wwb = Workbook.createWorkbook(os);//创建可写工作薄  这里的 OS 用那个response.getOutputStream 就行
      

  2.   

    下面是一段在客户端显示pdf的代码
    excel应该也可以的-ByteArrayOutputStream baos = null;
    byte[] content = null;//TODOD:                 
    baos = new ByteArrayOutputStream();
    baos.write(content, 0, content.length);
    response.reset();
    response.setContentLength(content.length);
    response.setHeader("Content-disposition", disposition
                            + "; filename=" + fileName);
                   if (getHtsWorkFlowFacade().getGestorePdf().checkPdf(content)) {
                        response.setContentType("application/pdf");
                    } else if (fileName.toLowerCase().endsWith(".eml")) {
                        response.setContentType("message/rfc822");
                    } else {
                        if ("attachment".equals(disposition)) {
                            response
                                    .setContentType("application/octet-stream;charset=UTF-8");
                            response.setContentType("application/force-download");
                        } else {
                            response.setCharacterEncoding("UTF-8");
                            response.setContentType("text/plain");
                        }
                    }                baos.writeTo(response.getOutputStream());
                    response.getOutputStream().flush();
      

  3.   

    真的是高手,我另外在你的基础上加了个response.setContentType("application/vnd.ms-excel");  就好了,谢谢啊
      

  4.   

    java2000_net 真的是高手,我另外在你的基础上加了个response.setContentType("application/vnd.ms-excel");  就好了,谢谢啊