如何使excel文件可下载

我已生成excel报告,我希望用户下载该文件,因此如何设置响应属性(内容类型)。

您需要设置标题和内容类型,如下所示:

response.setHeader "Content-disposition", "attachment;filename=myExcel.xls" response.contentType = "application/vnd.ms-excel" 

然后在响应中流式传输内容。

编辑:如果您需要设置内容长度:

  response.contentLength = 100 

javadoc中记录的内容长度

 response.setContentType("APPLICATION/OCTET-STREAM"); response.setHeader("Content-Disposition", "Attachment;Filename=\"MyFile.xls\""); 

你必须添加jxl jar

试试这段代码:

 @WebServlet("/Reportexel") public class Reportexel extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { response.setHeader("Content-disposition", "attachment; filename=kbdemo.xls"); response.setContentType("application/vnd.ms-excel"); WritableWorkbook workbook = Workbook.createWorkbook(response.getOutputStream()); WritableSheet worksheet = workbook.createSheet("Sheet 1",0); Label lbl = new Label(1,1,"Hello"); Label lbl1 = new Label(1,2,"Hi..."); worksheet.addCell(lbl); worksheet.addCell(lbl1); workbook.write(); workbook.close(); } catch(Exception e) { System.err.println("Main Error : "+e); } } }