根本不用生成到硬盘上,生成到内存你,直接就可以下载了,代码如下: response.reset();
response.setCharacterEncoding("ISO8859-1");
response.setHeader("Content-Disposition", "attachment;   filename="
+ new String(fileChName.getBytes("GBK"), "ISO8859-1"));//fileChName为下载时用户看到的文件名
response.setHeader("Connection", "close");
response.setHeader("Content-Type", "application/octet-stream");

OutputStream out = response.getOutputStream();
把你的WritableWorkbook book = Workbook.createWorkbook(new File("测试.xls")); 这句
换为
Workbook.createWorkbook(out);这样就可以不用通过保存到硬盘上直接下载了。