zoukankan      html  css  js  c++  java
  • shh将数据导出excel

    最近做一个东西,要将数据导出到excel表中,以下是代码

    import java.io.OutputStream;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.http.HttpServletResponse;
    
    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFCellStyle;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.struts2.ServletActionContext;
    
    import com.sun.org.apache.regexp.internal.recompile;
    
    import entity.CRFHead;
    import entity.CRFItem;
    
    public class crfAction {
    private List  dataList = new ArrayList();
    public String initInfo() {
        dataList .add("1");
     dataList .add("2");
     dataList .add("3");
     dataList .add("4");
    HttpServletResponse response = ServletActionContext.getResponse();
    		setResponseHeader(response,"test.xls");
    		try {
    			exportQuery(response.getOutputStream(),dataList);
    			response.getOutputStream().flush();
    			response.getOutputStream().close();
    		} catch (Exception e) {
    			// TODO: handle exception
    		}
    		//数据导出后缓冲区清空
    		dataList.clear();
    		RESPONSE_LABEL=1;
    		return "success";
    }
    	/**
    	 * 设置输出流及输出文件的编码
    	 * @param response
    	 * @param filename1
    	 */
    	public void setResponseHeader(HttpServletResponse response,String filename1){
    		try {
    			response.setContentType("application/msexcel;charset=UTF-8");
    			response.setHeader("content-disposition", "attachment;filename="+java.net.URLEncoder.encode(filename1, "UTF-8"));
    			//System.out.println("a");
    			response.addHeader("Pargam", "no-cache");
    		    response.addHeader("Cache-Control", "no-cache");
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    public void exportQuery(OutputStream os,List list){
    /创建一个工作簿
    		HSSFWorkbook workbook = new HSSFWorkbook();
    		//创建单元格,并设置剧中显示
    		HSSFCellStyle style = workbook.createCellStyle();//创建个表格格式
    		style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//设置格式为居中
    //创建一个表单
    		HSSFSheet sheet = workbook.createSheet("aa");
    		//在sheet中添加表头第0行
    		HSSFRow row = sheet.createRow((int)0);
    		//设置表头
    		HSSFCell cell = row.createCell((short)0);
    		cell.setCellStyle(style);
    		cell.setCellValue("第一列");
    		cell = row.createCell((short)1);
    		cell.setCellStyle(style);
    		cell.setCellValue("第二列");
    		cell = row.createCell((short)2);
    		cell.setCellStyle(style);
    		cell.setCellValue("第三列");
    		cell = row.createCell((short)3);
    		cell.setCellStyle(style);
    		cell.setCellValue("第四列");
        row.createCell((short)0).setCellValue(list.get(0));
      row.createCell((short)1).setCellValue(list.get(1));
      row.createCell((short)2).setCellValue(list.get(2));
      row.createCell((short)3).setCellValue(list.get(3));
    try{
    			workbook.write(os);	
    }catch(Exception e){
    			e.printStackTrace();
    		}	
        }
    }        
    

      

  • 相关阅读:
    Seam的安全框架授权(Authorization)(译) (三)
    Seam的安全框架授权(Authorization)(译) (一)
    Seam的安全框架错误信息(Error Messages)(译)
    如何编出健壮的代码,java编程30条规则(转)
    Seam的安全框架身份管理(Identity Management)(译)
    Seam的安全框架授权(Authorization)(译) (二)
    集成Seam,Spring和jBPM指南(译)
    拖拉是种病,不治会要命!(转)
    Jboss Seam, mysql中文乱码问题4步骤总结(转)
    ubuntu上的mysql字符集设置(转)
  • 原文地址:https://www.cnblogs.com/gaizhongfeng/p/4414707.html
Copyright © 2011-2022 走看看