java 导出EXcell

使用 poi 创建表格 :

/**
     * 导出 表
     * @param ids
     * @return
     */
    public Workbook writeExcel(long[] ids,Ioc ioc,HttpSession session, @Param("..") Pager<MissedAsset> pager,
			@Param("search") String search){
		/*HSSFWorkbook wook = new HSSFWorkbook();
		HSSFSheet sheet=wook.createSheet("遗漏资产信息");  
		HSSFRow row=sheet.createRow(0);*/  
    	XSSFWorkbook work = new XSSFWorkbook();
    	XSSFSheet sheet = work.createSheet("遗漏资产信息");
        //在sheet中创建一行  
		 
		 XSSFRow row = sheet.createRow(0);
          
        //在该行写入各种类型的数据  
       
        row.createCell(0).setCellValue("资产IP");  
        row.createCell(1).setCellValue("发现时间");
        row.createCell(2).setCellValue("备注");
        
        // 调整列宽
        
        sheet.setColumnWidth(0, (short)4500);
        sheet.setColumnWidth(1, (short)5500);
        sheet.setColumnWidth(2, (short)8500);
        
        // 遍历数据库 取出数据,放入表格里
        //在写入 日期格式的 数据需要进行特殊处理(这是一种 简单的处理方式)  
         
        int rowNum = 1;
        //List<DownLineAsset> list = getList(ids);
        List<MissedAsset> list = null;
        pager.setPage(1);
        pager.setPageSize(10000);
        // 选择 条目的
        if(search == null || search.equals("") ){
        	BoolQueryBuilder qb = QueryBuilders.boolQuery();
        	if(ids == null || ids.length == 0){
        		// 全查
        		list = MissedAssetService.getInstance().getList(pager,null).getData();
        	}else{
        		
        		qb.must(QueryBuilders.inQuery("id", ids));
        		list = MissedAssetService.getInstance().getList(pager,qb).getData();
        	}
        }else{
        	// 说明 有 查询条件
        	// 1.已经选择 具体 信息,则继续 按照 ids 查询
        	if( ids != null && ids.length > 0){
        		//list = getList(ids);
        		BoolQueryBuilder qb = QueryBuilders.boolQuery();
        		qb.must(QueryBuilders.inQuery("id", ids));
        		
        		list = MissedAssetService.getInstance().getList(pager,qb).getData();
        	}else{
        		// 2.说明 有满足条件且 没有具体选择,则需要 模糊查询出符合条件的 所有信息
        			// 重新 设置 page 最大导出20 万数据,多了内存受不了
        			
        			Pager<MissedAsset> customQuery =	MissedAssetService.getInstance().getFuzzyList(pager, search);
        			//Pager<AllProviceAddress> customQuery = customQuery(ioc, session, pager, AllProviceAddress.class,search);
        			list = 	customQuery.getData();
        	}
        	
        }
        for (MissedAsset ifInfo : list) {
        	
        	XSSFRow rowInsert=sheet.createRow(rowNum);
        
             rowInsert.createCell(0).setCellValue(ifInfo.getIP());
             rowInsert.createCell(1).setCellValue(ifInfo.getCreateTime());
             rowInsert.createCell(2).setCellValue(ifInfo.getRemark());
          
        	 rowNum ++;
		}
     return work;
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值