java 中 excel生成并文件下载保存到本地(三)

一个包搞定了
先看看项目结构
 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. 
*/ public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } /** * The doGet method of the servlet.
* * 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(""); // out.println(""); // out.println(" A Servlet"); // out.println(" "); // out.print(" This is "); // out.print(this.getClass()); // out.println(", using the GET method"); // out.println(" "); // out.println(""); // out.flush(); // out.close(); this.doPost(request, response); } /** * The doPost method of the servlet.
* * 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.
* * @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+"/"; %> My JSP 'index.jsp' starting page
亲自试试吧 poi的下载地址为: http://apache.fayea.com/poi/dev/bin/poi-bin-3.12-beta1-20150228.zip找到需要的jar包 导入项目即可

 

你可能感兴趣的:(java)