java 中 excel生成并文件下载保存到本地
2017-03-03 17:48
495 查看
servlet类 package com.dragon.action; import Java.io.IOException; import java.io.OutputStream; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; public class ExcelServlet extends HttpServlet { /** * Constructor of the object. */ public ExcelServlet() { super(); } /** * Destruction of the servlet. <br> */ public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } /** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // response.setContentType("text/html"); // PrintWriter out = response.getWriter(); // out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"); // out.println("<HTML>"); // out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>"); // out.println(" <BODY>"); // out.print(" This is "); // out.print(this.getClass()); // out.println(", using the GET method"); // out.println(" </BODY>"); // out.println("</HTML>"); // out.flush(); // out.close(); this.doPost(request, response); } /** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to post. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); response.setContentType("application/vnd.ms-excel"); OutputStream out = response.getOutputStream(); //报头用于提供一个推荐的文件名,并强制浏览器显示保存对话框 //attachment表示以附件方式下载。如果要在页面中打开,则改为 inline response.setHeader("Content-Disposition", "attachment; filename=TestExcel1.xls "); //创建workbook工作薄 Workbook workbook = new HSSFWorkbook(); //创建工作表 Sheet sheet = workbook.createSheet("用户信息"); //创建第二个工作薄 Sheet sheet2 = workbook.createSheet(); //为工作薄起名字 workbook.setSheetName(1, "口袋里的小龙"); //设置单元格样式 HSSFCellStyle hssfCellStyle = (HSSFCellStyle) workbook.createCellStyle(); hssfCellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//居中显示 hssfCellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//纵向居中 //创建行 Row row = sheet.createRow(0); //创建单元格 Cell cell = row.createCell(0); //设置第一行第一格的值 cell.setCellValue("姓名"); //设置单元格的文本居中显示 cell.setCellStyle(hssfCellStyle); //创建单元格 Cell cell1 = row.createCell(1); //设置第一行第一格的值 cell1.setCellValue("性别"); cell1.setCellStyle(hssfCellStyle); //创建单元格 Cell cell2 = row.createCell(2); //设置第一行第一格的值 cell2.setCellValue("年龄"); cell2.setCellStyle(hssfCellStyle); //创建单元格 Cell cell3 = row.createCell(3); //设置第一行第一格的值 cell3.setCellValue("家庭住址"); cell3.setCellStyle(hssfCellStyle); for (int i = 1; i <= 5; i++) { //创建行 Row rows = sheet.createRow(i); //创建单元格 Cell cells = rows.createCell(0); //设置第一行第一格的值 cells.setCellValue("张三"+i); //创建单元格 Cell cell1s = rows.createCell(1); //设置第一行第一格的值 cell1s.setCellValue("男"); //创建单元格 Cell cell2s = rows.createCell(2); //设置第一行第一格的值 cell2s.setCellValue(18+i); //创建单元格 Cell cell3s = rows.createCell(3); //设置第一行第一格的值 cell3s.setCellValue("家庭住址"+i); } workbook.write(out); System.out.println("数据写入成功!"); out.flush(); out.close(); } /** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */ public void init() throws ServletException { // Put your code here } } index.jsp页面 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</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="Th aafe is is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <form action="servlet/ExcelServlet" method="post"> <input type="submit" value="测试"></input> </form> </body> </html>
转载自http://blog.csdn.net/koudailidexiaolong/article/details/45913207
相关文章推荐
- java 中 excel生成并文件下载保存到本地(三)
- Java生成excel文件-本地生成excel文件和在线生成excel及下载--jxl
- java利用poi生成excel文件后下载本地
- java 利用 poi 生成 Excel文件与spring使用文件流形式下载文件
- JAVA JXL -----excel文件生成、在线打开和下载
- Java代码生成excel文件下载
- Java通用的Excel文件生成工具类,支持生成文件和浏览器直接下载
- java 动态生成多个excel文件打成zip包供用户下载
- java 从服务器下载文件并保存到本地
- java 从服务器下载文件并保存到本地
- java基于jxl.jar包生成Excel文件到指定目录和服务器下载两种模式的使用方法
- 在服务器端生成Excel文件然后从服务器下载的本地的代码
- java 从服务器下载文件并保存到本地
- java(优化四) 自动生成pdf文件并保存到本地
- Java 使用urlconnection下载文件或图片并保存到本地
- java已知下载链接将Excel文件利用httpclient下载到本地
- Java通用的Excel文件生成工具类,支持生成文件和浏览器直接下载
- java 从服务器下载文件并保存到本地的示例
- java提高篇(41)--urlconnection下载文件或图片并保存到本地
- java 生成多个excel文件并打成zip包供用户下载