`

POI导出excel ExcelOutPutUtil

阅读更多
package zh.com.zte.bems.common;
import java.util.List;

import javax.servlet.http.HttpServletResponse;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFHeader;
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;


public class ExcelOutPutUtil{
	   
    
    int columNumber = 8;
    
    public void execute(String[] tableHeader,List list,String filename) throws Exception {
    	
    	//"filename=qifan.xls"
		HttpServletResponse response = ServletActionContext.getResponse();
	    //创建工作本   
	    HSSFWorkbook demoWorkBook = new HSSFWorkbook();

	   //创建表   
	    HSSFSheet demoSheet = demoWorkBook.createSheet("test");
	    
	   //表头的单元格个数目   
	    short cellNumber = (short)tableHeader.length; 
	    
	   //设置返回类型为excel   
		response.setContentType("application/vnd.ms-excel; charset=UTF-8");

		//设置返回文件名为XX.xls   
		response.setHeader("Content-Disposition",filename);
		response.setHeader("Cache-Control", "no-cache");

		//利用poi生成整个excel   

        /**  
         * 创建表头  
         * @return  
         */  
      
    	 HSSFHeader header = demoSheet.getHeader();   
         header.setCenter("Excel表");   
         HSSFRow headerRow = demoSheet.createRow((short) 0);   
         for(int j = 0;j < tableHeader.length;j++)   
         {   
             HSSFCell headerCell = headerRow.createCell((short) j);   
             headerCell.setEncoding(HSSFCell.ENCODING_UTF_16);   
             headerCell.setCellValue(tableHeader[j]);
             
         } 
	    
	   //数据库表的列数   
	   
	    int rowIndex = 1;
//		SstickUserInfoDataOutputFunction objStickUserInfoDataOutputFunction = new SstickUserInfoDataOutputFunction(
//				objDBConn);
//		StickUserInfoDataOutput objStickUserInfoDataOutput = objStickUserInfoDataOutputFunction
//		.execute("","",null,null);  
//		ArrayList<StickUserInfo> stickUserInfo = objStickUserInfoDataOutput.getStickUserInfoData().get(0).getStickUserInfo();
	/*	
		short index = 1;
		// 创建Excel的工作书册 Workbook,对应到一个excel文档
		HSSFWorkbook workbook = new HSSFWorkbook();
		// 创建Excel的工作sheet,对应到一个excel文档的tab
		HSSFSheet sheet = workbook.createSheet("sheet1");*/
/*		ArrayList<String> list = new ArrayList<String>();
		 
		for(int i = 0;i<stickUserInfo.size();i++){
			StickUserInfo ss= stickUserInfo.get(i);
			list.add(ss.getUser_id());
			list.add(ss.getUserName());
			list.add(ss.getPassword());
			list.add(ss.getPhone());
			list.add(ss.getAddress());
			list.add(ss.getPostalcode());
			list.add(ss.getEmail());
			list.add(ss.getDescribe());			
			System.out.println("kao");*/
	    int hederlen = tableHeader.length;
	    int rowCount = list.size()/hederlen;
	   
	     int templine =0;
	    	
			try {
		           //创建第rowIndex行  
				HSSFRow row = null;
				for(int j = 1;j<list.size()+1;j++){
			    	//行数
			    	 int count = (j-1)/hederlen + 1;
			    	 //列
				     int count1 = (j-1)%hederlen;
      	 
	                     //创建第k个单元格  
				     
				     if(count>templine){
				    	 row = demoSheet.createRow( new Short((short) count));
				    	 templine = count;
				     }
	                     HSSFCell cell = row.createCell((short) count1);   
	                     cell.setEncoding(HSSFCell.ENCODING_UTF_16);   
	                     cell.setCellValue(list.get(j-1).toString());                
	                 
				//将生成的excel通过response返回   
				};
			} catch (Exception e) {
				e.printStackTrace();
				
			} 
		
		 demoWorkBook.write(response.getOutputStream());
		 response.getOutputStream().flush(); 
	  }

	}
	
	  


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics