POI

	
	/**
	 * 作者:刘鹏
	 * 时间:2013-07-16
	 * 描述:将入库商品数据导出到EXCEL中
	 */
	@SuppressWarnings("deprecation")
	public String outputStatisticsData(){
		
        //创建response对象  
        HttpServletResponse response = ServletActionContext.getResponse() ; 
        //创建一个新的EXCEL
        HSSFWorkbook workBook = new HSSFWorkbook();
        //创建sheet页
        HSSFSheet sheet0 = workBook.createSheet();
        //sheet页名称  
        workBook.setSheetName(0, "仓库商品导出信息 "); 
        //设置Sheet页为默认  
        sheet0.setSelected(true); 
        //设置放大比例
        //sheet0.setZoom(6,5);
        //创建header页  
        HSSFHeader header = sheet0.getHeader();
        //设置标题居中  
        header.setCenter("标题");
        
        //让Sheet页自适应页面大小
	    //PrintSetup ps = sheet0.getPrintSetup();
	    //ps.setFitHeight((short)1);
	    //ps.setFitWidth((short)1);
        
        //设置自动换行
        sheet0.setAutobreaks(true) ;
        //设置列宽
        sheet0.setColumnWidth((short)0,(short)(35.7*80));//设置列宽(35.7*n,其中n是像素值)
        sheet0.setColumnWidth((short)1,(short)(35.7*80));//设置列宽(35.7*n,其中n是像素值)
        sheet0.setColumnWidth((short)2,(short)(35.7*80));//设置列宽(35.7*n,其中n是像素值)
        sheet0.setColumnWidth((short)3,(short)(35.7*80));//设置列宽(35.7*n,其中n是像素值)
        sheet0.setColumnWidth((short)4,(short)(35.7*80));//设置列宽(35.7*n,其中n是像素值)
        sheet0.setColumnWidth((short)5,(short)(35.7*80));//设置列宽(35.7*n,其中n是像素值)
        sheet0.setColumnWidth((short)6,(short)(35.7*80));//设置列宽(35.7*n,其中n是像素值)
        sheet0.setColumnWidth((short)7,(short)(35.7*80));//设置列宽(35.7*n,其中n是像素值)
        sheet0.setColumnWidth((short)8,(short)(35.7*80));//设置列宽(35.7*n,其中n是像素值)
        
  /*******************************以下为第一行数据********************************/
        //设置第一行为上报表的表头 
        HSSFRow row0 = sheet0.createRow((short)0);                      //取得Excel对象的第一行
        row0.setHeightInPoints((short)30.0) ;
        HSSFCell cell0 = row0.createCell((short)0) ;//合并单元格 第一行就只有一条数据
        cell0.setCellValue("电子商务云平台仓库管理单据记录表") ;
        //创建Excel合并单元格对象  
        sheet0.addMergedRegion(new CellRangeAddress(  
                0,              //firstRow这是从第一行开始  
                0,              //lastRow 这是终结的行号  
                0,              //firstCol这是第一列的号码    
                8));           //lastCol这是要合并的最后一列
        
        //创建单元格的格式
        CellStyle cellStyleHeader = workBook.createCellStyle() ;
        //设置单元格的水平居中
        cellStyleHeader.setAlignment(XSSFCellStyle.ALIGN_CENTER) ;
        //设置单元格的垂直居中  
        cellStyleHeader.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER) ;
        //设置单元格的北京颜色25%的灰色
        //cellStyleHeader.setFillBackgroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
        cellStyleHeader.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
        cellStyleHeader.setFillPattern(CellStyle.SOLID_FOREGROUND);
        
        //创建字体格式
        Font fontHeader = workBook.createFont() ;
        //设置字体加粗显示
        fontHeader.setBoldweight(Font.BOLDWEIGHT_BOLD) ;    
        //设置字体的字号size
        fontHeader.setFontHeightInPoints((short)20) ;
        //设置字体的文字类型
        fontHeader.setFontName("黑体");
        //fontHeader.setItalic(true) ;//设置是否为斜体
        
        //对第一行的标题文字进行加样式
        cell0.setCellStyle(cellStyleHeader) ;    //第一行加载样式
        cellStyleHeader.setFont(fontHeader) ;    //单元格加载样式
        
  /**********************以上为第一行数据*********************/
        
        
  /***********************以下为内容数据***********************/    
        //设置第2行数据
        HSSFRow row2 = sheet0.createRow((short)1) ;
        HSSFCell cell2_0 = row2.createCell((short)0);
        cell2_0.setCellValue("序号") ;
        HSSFCell cell2_1 = row2.createCell((short)1);
        cell2_1.setCellValue("商品名称") ;
        HSSFCell cell2_2 = row2.createCell((short)2);
        cell2_2.setCellValue("商品类别") ;
        HSSFCell cell2_3 = row2.createCell((short)3);
        cell2_3.setCellValue("商品数量");
        HSSFCell cell2_4 = row2.createCell((short)4);
        cell2_4.setCellValue("库存量") ;
        HSSFCell cell2_5 = row2.createCell((short)5);
        cell2_5.setCellValue("操作时间");
        HSSFCell cell2_6 = row2.createCell((short)6);
        cell2_6.setCellValue("仓库名称");
        HSSFCell cell2_7 = row2.createCell((short)7);
        cell2_7.setCellValue("供应商名称");
        HSSFCell cell2_8 = row2.createCell((short)8);
        cell2_8.setCellValue("接收者");  
      
		//获取导出数据的数据源
		Store store=new Store();
		store.setIo_flag("0");
		List<Store> list = getiStoreService().selectOutputStatisticsData(store);
		
        //数据填写
        for(int i = 0; i < list.size();i++){
        	 HSSFRow tempRow = sheet0.createRow((short)2+i) ;
        	
				HSSFCell cell3_0 = tempRow.createCell((short)0);
				cell3_0.setCellValue(list.get(i).getIo_id());
				
				HSSFCell cell3_1 = tempRow.createCell((short)1);
				cell3_1.setCellValue(list.get(i).getIo_name());
				
				HSSFCell cell3_2 = tempRow.createCell((short)2);
				cell3_2.setCellValue(list.get(i).getIo_type());
				
				HSSFCell cell3_3 = tempRow.createCell((short)3);
				cell3_3.setCellValue(list.get(i).getIo_amount());

				HSSFCell cell3_4 = tempRow.createCell((short)4);
				cell3_4.setCellValue(list.get(i).getIo_reserve());

				HSSFCell cell3_5 = tempRow.createCell((short)5);
				cell3_5.setCellValue(list.get(i).getIo_time());
				
				HSSFCell cell3_6 = tempRow.createCell((short)6);
				cell3_6.setCellValue(list.get(i).getIo_s_name());
				
				HSSFCell cell3_7 = tempRow.createCell((short)7);
				cell3_7.setCellValue(list.get(i).getIo_su_name());
				
				HSSFCell cell3_8 = tempRow.createCell((short)8);
				cell3_8.setCellValue(list.get(i).getIo_person());

        }
        
  /********************以上为内容数据*********************/  
        
  /*****以下为利用response对象利用输出流输出到客户端******/  
		//通过Response把数据以Excel格式保存
		response.reset();
		//设置response流信息的头类型,MIME码
		response.setContentType("application/msexcel;charset=UTF-8");
		//设置时间
		SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd");
		Date date = new Date();
		String str = s.format(date);
		try {
		response.addHeader("Content-Disposition", "attachment;filename=\""
		+new String(("电子商务云平台仓库管理单据记录表"+str+".xls").getBytes("GBK"),
			"ISO8859_1") + "\"");
			//创建输出流对象 
			OutputStream out = response.getOutputStream();
			//将创建的Excel对象利用二进制流的形式强制输出到客户端去
			workBook.write(out);
			//强制将数据从内存中保存
			out.flush();
			out.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
        
  /*****以上为利用response对象利用输出流输出到客户端******/ 
		return null;
	}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值