在普通的servlet中而不是JSP文件中完成该工作。JSP文件用于动态生成HTML代码,并且为此使用字符编写器而不是二进制输出流,因此只会破坏POI生成的Excel文件,本质上是二进制流。
因此,基本上,您需要
doGet()在servlet方法中进行的所有操作如下:
response.setContentType("application/vnd.ms-excel");response.setHeader("Content-Disposition", "attachment; filename=filename.xls");HSSFWorkbook workbook = new HSSFWorkbook();// ...// Now populate workbook the usual way.// ...workbook.write(response.getOutputStream()); // Write workbook to response.workbook.close();现在,要下载它,请通过其URL而不是JSP文件来调用servlet。



