OutExcel.java 2.66 KB
package com.bjivt.util;

import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class OutExcel {

	 public void exportExcel(HttpServletRequest request, HttpServletResponse response)  
	 {  
	     HttpSession session = request.getSession();  
	     session.setAttribute("state", null);  
	     // 生成提示信息,  
	     response.setContentType("application/vnd.ms-excel");  
	     String codedFileName = null;  
	     OutputStream fOut = null;  
	     try  
	     {  
	         // 进行转码,使其支持中文文件名  
	         codedFileName = java.net.URLEncoder.encode("中文", "UTF-8");  
	         response.setHeader("content-disposition", "attachment;filename=" + codedFileName + ".xls");  
	         // response.addHeader("Content-Disposition", "attachment;   filename=" + codedFileName + ".xls");  
	         // 产生工作簿对象  
	         HSSFWorkbook workbook = new HSSFWorkbook();  
	         //产生工作表对象  
	         HSSFSheet sheet = workbook.createSheet();  
	         for (int i = 0; i <= 30000; i++)  
	         {  
	             HSSFRow row = sheet.createRow((int)i);//创建一行  
	             HSSFCell cell = row.createCell((int)0);//创建一列  
	             cell.setCellType(HSSFCell.CELL_TYPE_STRING);  
	         }  
	         fOut = response.getOutputStream();  
	         workbook.write(fOut);  
	     }  
	     catch (UnsupportedEncodingException e1)  
	     {}  
	     catch (Exception e)  
	     {}  
	     finally  
	     {  
	         try  
	         {  
	             fOut.flush();  
	             fOut.close();  
	         }  
	         catch (IOException e)  
	         {}  
	         session.setAttribute("state", "open");  
	     }  
	     //System.out.println("文件生成...");  
	 }  
	
	 public void check(HttpServletRequest request, HttpServletResponse response)  
	 {  
	     try  
	     {  
	         if ("open".equals(request.getSession().getAttribute("state")))  
	         {  
	             request.getSession().setAttribute("state", null);  
	             response.getWriter().write("true");  
	             response.getWriter().flush();  
	         }  
	         else  
	         {  
	             response.getWriter().write("false");  
	             response.getWriter().flush();  
	         }  
	     }  
	     catch (IOException e)  
	     {}  
	 }  
}