ZK下载文件时,不在服务器生成文件直接下载

转载:http://hi.baidu.com/jspring/blog
ZK下载文件时,不在服务器生成文件直接下载
比如在导出Excel文件的时候,直接提供给zk下载组件就可以了,不必在服务器上生成文件再给zk下载地址下载。但这个数据必须写在内存中,然后将内存中的数据传给zk 下载组件。上代码:

private void downloadFile(HSSFWorkbook workbook) {
        try {
            ByteArrayOutputStream stream = new ByteArrayOutputStream();
            workbook.write(stream);
            InputStream is = new ByteArrayInputStream(stream.toByteArray());
            if(null!=is){
                Filedownload.save(is,"application/vnd.ms-excel",exportFileName+".xls");
            }else{
                Messagebox.show("文件下载错误,找不到要下载的文件!","文件下载出错",Messagebox.OK,Messagebox.ERROR);
            }
            stream.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

这样就好了,是不是很爽啊?呵呵!

你可能感兴趣的:(Excel,Blog,zk)