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();
    		}	
        }
    }        
    

      

  • 相关阅读:
    K
    士兵队列训练问题
    分析A + B Problem II
    C++中sort()的用法
    swing初级应用创建一个窗体
    java生成随机数
    JAVA数字格式化
    CodeForces
    POJ
    51Nod
  • 原文地址:https://www.cnblogs.com/gaizhongfeng/p/4414707.html
Copyright © 2011-2022 走看看