JSP從資料庫匯出資料到Excel下載的實現
關鍵代碼:
<%@ page contentType="application/msexcel" %>
<%
//response.setHeader("Content-disposition","inline; filename=videos.xls");
response.setHeader("Content-disposition","attachment; filename=test.xls");
//以上這行設定傳送到前端瀏覽器時的檔名為test.xls
//就是靠這一行,讓前端瀏覽器以為接收到一個excel檔
%>
簡單測試例子:
<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="GBK"%><%@ page contentType="application/msexcel" %><% //response.setHeader("Content-disposition","inline; filename=videos.xls"); response.setHeader("Content-disposition","attachment; filename=test.xls"); //以上這行設定傳送到前端瀏覽器時的檔名為test.xls //就是靠這一行,讓前端瀏覽器以為接收到一個excel檔 %><%@ page import="org.springframework.web.context.WebApplicationContext"%><%@ page import="com.test.*"%><%@ page import="org.springframework.web.context.support.WebApplicationContextUtils"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><%WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());UserManager um = (UserManager) ctx.getBean("userManager"); %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>spring jdbc test</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--> </head> <body><br><table border="1" width="100%"><tr> <td>id</td> <td>name</td> </tr><%List<User> users2=um.getUserList();for(int i=0;i<users2.size();i++){int t_id2=users2.get(i).getId();String t_name2=users2.get(i).getName();%><tr> <td><%=t_id2 %></td> <td><%=t_name2 %></td> </tr><%} %></table> </body></html>