Java导出页面数据或数据库数据至Excel文件并下载,采用JXL技术,小demo(servlet实现)
public class ExportExcelServlet extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { HttpSession session = request.getSession(); List<ScUser> users = new ArrayList<ScUser>(); users =(List<ScUser>) session.getAttribute("users"); OutputStream os = response.getOutputStream(); response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("utf-8"); WritableWorkbook book = Workbook.createWorkbook(os); WritableSheet sheet = book.createSheet("用户管理表", 0); String title[] = { "号码", "部门", "使用人", "口令","IP地址","mac地址","状态" }; for (int i = 0; i < title.length; i++) { Label labe = new Label(i, 0, title[i]); sheet.addCell(labe); } for(int i=0;i<users.size();i++){ ScUser scuser=users.get(i); long id=scuser.getId(); String dept =scuser.getDept(); String name=scuser.getUsername(); String pwd=scuser.getPassword(); String ip=scuser.getUserIP(); String mac=scuser.getMAC(); String status=scuser.getStatus()+""; if(status.equals("F")){ status="启用"; }else{ status="禁用"; } String[] contents={id+"",dept,name,pwd,ip,mac,status}; for(int j=0;j<contents.length;j++){ Label labe=new Label(j,i+1,contents[j]); sheet.addCell(labe); } } book.write(); book.close(); os.flush(); } catch (Exception e) { e.printStackTrace(); } } }
提示:需要jxl的jar包及示例程序(百度网盘):链接:http://pan.baidu.com/s/1dKvV4 密码:io6w